2014-03-27 51 views
1

我是Lync 2013 SDK的基本開發人員。Lync 2013 SDK的Self.Contact.ContactInformationChanged事件

我想將我的應用程序中的自定義狀態更改爲Lync 2013客戶端和副簽證。已通過表單加載事件添加了 LyncClient.Self.Contact.ContactInformationChanged

當我從我的自定義應用程序更改存在狀態時,這也將使用我的函數更改Lync 2013客戶端的存在狀態。

try 
    { 
     _lyncClient.Self.BeginPublishContactInformation(
      stuffToPublish, 
      (ar) => 
       { 
        _lyncClient.Self.EndPublishContactInformation(ar); 
       }, 
       null); 
    } 
    catch (ItemNotFoundException) 
    { 
     MessageBox.Show(_SelectedCustomAvailabilityId.ToString() + " Item not found"); 
    } 

因爲2013的Lync客戶端的存在狀態已經改變,LyncClient.Self.Contact.ContactInformationChanged事件正在執行我的功能後被解僱。

我不希望在從我的應用程序更改狀態時發生此事件。我只希望此事件在Lync 2013客戶端更改出席狀態時觸發。

我該如何解決這個問題?

回答

1

由於最終ContactInformationChanged事件實際上是由Lync服務器觸發的,而不是您的客戶端或您的僅僅請求更改的應用程序觸發,您將無法知道導致狀態更改的原因。

我建議存儲你的應用程序認爲當前的狀態應該是什麼,即它最近在應用程序本身中改變了什麼,並在事件處理程序中測試它。