使用UCMA 3.0清除已发布的状态

时间:2012-04-12 14:09:40

标签: c# lync-2010 ucma

我在受信任的应用程序端点中发布用户状态,但我也希望在不再需要时清除此状态。

这是终止UserEndpoint实例的唯一选择吗?

我正在使用此代码段:

    user.Endpoint.LocalOwnerPresence.BeginPublishPresence(
        user.categories,
        arBeginPublishPresence =>
        {
            try
            {
                user.Endpoint.PresenceServices.EndUpdatePresenceState(arBeginPublishPresence);
                logger.log("Published presence for {0} with state {1}.", user.SipUserUri, newState.Availability);
            }
            catch (RealTimeException ex)
            {
                logger.log("Failed publishing presence for {0}. {1}", user.SipUserUri, ex);
            }
        },
        null);

其中user.Endpoint是该用户的UserEndpoint,user.categories是PresenceCategoryWithMetaData对象的列表。

1 个答案:

答案 0 :(得分:0)

首先 - 我很惊讶这实际上有效!您在LocalOwnerPresence对象上调用BeginPublishPresence,然后在PresenceServices对象上调用EndUpdatePresenceState的aysnc回调中调用。请告诉我这是一个错字,否则我将不得不抛弃我认为我对Lync开发和异步编程知道的一切; o)

无论如何 - 假设您使用

发布在线状态

LocalOwnerPresence.BeginPublishPresence

(并在异步回调中调用相应的EndPublishPresence),你可以调用

LocalOwnerPresence.BeginDeletePresence

删除出版物。