【问题标题】:Send IM message to specific user in the conversation Lync 2013 SDK in UI suppression mode在 UI 抑制模式下向对话 Lync 2013 SDK 中的特定用户发送 IM 消息
【发布时间】:2014-03-06 15:57:34
【问题描述】:

我正在尝试在 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);
            }

        }

如果使用对话无法做到这一点,请指导我以正确的方式,感谢任何帮助。

【问题讨论】:

    标签: c# wpf lync lync-2013


    【解决方案1】:

    没有办法在给定对话中选择 IM 的接收者。您最好的选择可能是只与您需要的参与者开始单独的对话。

    【讨论】:

    • 我认为这不是性能优化,我将使用它作为最后的解决方案(如果我没有找到其他方法来解决它),谢谢@Paul。
    • 我了解您对性能的担忧,但是 Lync 服务器将在数千个打开的对话中保持高性能,并且客户端上的对话开销很小。我认为即使这是一个功能(它不是),它也可能通过开始另一个对话来起作用,因为这基本上就是你想要做的。
    【解决方案2】:

    我同意所选答案...但是...当您编写 UI 抑制应用程序时,您可以使用单独的 IM 对话(根据答案),然后将其内联显示。当您控制会议的显示时,您可以随意显示它,如果这确实是您想要做的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-24
      • 1970-01-01
      相关资源
      最近更新 更多