0

信頼できるアプリケーションエンドポイントでユーザープレゼンスを公開していますが、不要になったときにこのプレゼンスをクリアしたいと思います。

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オブジェクトのリストです。

4

1 に答える 1

0

まず、これが実際に機能することに驚いています。LocalOwnerPresence オブジェクトで BeginPublishPresence を呼び出してから、aysnc コールバックで PresenceServices オブジェクトで EndUpdatePresenceState を呼び出しています。これはタイプミスだと教えてください。さもなければ、Lync 開発と非同期プログラミングについて知っていると思っていたすべてを捨てなければなりません ;o)

とにかく-存在を公開していると仮定して

LocalOwnerPresence.BeginPublishPresence

(および非同期コールバックで対応する EndPublishPresence を呼び出す)、呼び出すことができます

LocalOwnerPresence.BeginDeletePresence

パブリケーションを削除します。

于 2012-04-19T21:35:34.340 に答える