使用 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 对象的列表。
首先 - 我很惊讶这居然有效! 你在 LocalOwnerPresence 对象上调用 BeginPublishPresence,然后在 aysnc 回调中调用 PresenceServices 对象上的 EndUpdatePresenceState。请告诉我这是一个错字,否则我将不得不扔掉我认为我知道的关于 Lync 开发和异步编程的所有内容;o)
无论如何 - 假设您正在发布状态
LocalOwnerPresence.BeginPublishPresence
(并在异步回调中调用对应的 EndPublishPresence),可以调用
LocalOwnerPresence.BeginDeletePresence
以删除发布。