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

本文关键字:状态 清除 UCMA 使用 | 更新日期: 2023-09-27 18:31:05

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

这样做的唯一

选择是终止用户端点实例吗?

我正在使用以下代码片段:

    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);

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

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

首先 - 我很惊讶这居然有效! 你在 LocalOwnerPresence 对象上调用 BeginPublishPresence,然后在 aysnc 回调中调用 PresenceServices 对象上的 EndUpdatePresenceState。请告诉我这是一个错字,否则我将不得不扔掉我认为我知道的关于 Lync 开发和异步编程的所有内容;o)

无论如何 - 假设您正在发布状态

LocalOwnerPresence.BeginPublishPresence

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

LocalOwnerPresence.BeginDeletePresence

以删除发布。