2014-03-06 4 views
2

UI 억제 모드에서 Lync 2013 SDK를 사용하여 메시징 응용 프로그램을 만들려고하고 있습니다. 다음 코드를 사용하여 모든 참가자에게 메시지를 보냅니다. 대화,하지만 그들 중 특정 하나에게 메시지를 보낼 수있는 방법을 찾을 수 없습니다, 어떻게 사람이 일을 알고 있니?대화의 특정 사용자에게 IM 메시지 보내기 UI 억제 모드의 Lync 2013 SDK

내 코드 :이 경우

public void StartIMConversation(string participantUri) 
     {   
      _Conversation.PropertyChanged += _Conversation_PropertyChanged; 
      _Conversation = _LyncClient.ConversationManager.AddConversation(); 
     } 

void ConversationsManager_ConversationAdded(Object source, ConversationManagerEventArgs data) 
     { 
      data.Conversation.ParticipantAdded += Conversation_ParticipantAdded; 
      data.Conversation.StateChanged += Conversation_StateChanged; 
data.Conversation.AddParticipant(_LyncClient.ContactManager.GetContactByUri(this.myRemoteParticipantUri)); 
data.Conversation.AddParticipant(_LyncClient.ContactManager.GetContactByUri(this.myRemoteParticipantUri2)); 
data.Conversation.AddParticipant(_LyncClient.ContactManager.GetContactByUri(this.myRemoteParticipantUri3)); 


    InstantMessageModality imModality = (InstantMessageModality)participant.Conversation.Modalities[ModalityTypes.InstantMessage]; 
          imModality.BeginSendMessage(message, SendMessageCallback, imModality); 

     } 
    private void SendMessageCallback(IAsyncResult ar) 
     { 
      InstantMessageModality imModality = (InstantMessageModality)ar.AsyncState; 

      try 
      { 
       imModality.EndSendMessage(ar); 
      } 
      catch (LyncClientException lce) 
      { 
       MessageBox.Show("Lync Client Exception on EndSendMessage " + lce.Message); 
      } 

     } 

이 올바른 방법으로 나를 인도 해주십시오 대화를 사용하여 수행 할 수없는, 어떤 도움에 감사드립니다.

답변

2

주어진 대화에서 메신저 수신자를 선택하는 방법이 없습니다. 최선의 방법은 필요한 참가자들과 별도의 대화를 시작하는 것입니다.

+0

이것이 성능 최적화되지 않았다고 믿습니다. 해결책을 찾지 못하면 마지막 솔루션으로 사용합니다. 감사합니다. @Paul. – Anas

+0

Lync Server가 수천 개의 열린 대화로 성능이 좋고 클라이언트에서의 대화 오버 헤드가 거의 없다는 점을 염두에두고 노력하겠습니다. 나는 이것이 (비록 그렇지 않은) 기능이라 할지라도 그것이 본질적으로 당신이하려고하는 것이기 때문에 다른 대화를 시작함으로써 효과가있을 것이라고 생각합니다. –

1

내가 선택한 답변에 동의하지만 ... UI 억압 앱을 작성할 때 별도의 IM 대화를 (답변에 따라) 사용할 수 있지만 인라인으로 표시 할 수 있습니다. 컨퍼런스의 디스플레이를 제어하면서 원하는대로 표시 할 수 있습니다.

+0

고마워, 사실 그게 내가 해결 방법으로 한 일이야. – Anas