zoukankan      html  css  js  c++  java
  • Lync2013的会话

    加入Lync2013会话的流程图如下所示:

    11111

    流程如下:

    1. 首先通过 LyncClient.GetClient() 来获取 lyncClient 的实例

    2. 给lyncClient.ConversationManager.ConversationAdded 注册委托事件,使lync应用程序发生 加入会话事件 时就会执行此委托事件。

    3.   用LyncClient.ConversationManager.AddConversation()创建一个会话。

    4. 在lyncClient.ConversationManager.ConversationAdded 的委托事件中,给e.Conversation.ParticipantAdded 【会话参与者加入事件】注册委托事件

    5. 在lyncClient.ConversationManager.ConversationAdded的委托事件中,给e.Conversation.StateChanged【会话状态改变事件】注册委托事件。

    6. 在lyncClient.ConversationManager.ConversationAdded的委托事件中,给在第三步已经创建好的一个会话实例用Conversation.AddParticipant(Contact)函数添加一个参与者。

    7. 在给会话添加参与者时,由于已经在第4步给 【会话参与者加入事件】 注册了委托事件,所以会触发e.Conversation.ParticipantAdded的委托事件。

    8. 在【会话参与者加入事件】的委托事件中,

    i. 检查创建的会话中 是否包括 ModalityTypes.InstantMessage【即时消息会话】 模式,用Conversation.Modalities.ContainsKey(ModalityTypes.InstantMessage)来判断。

    ii. 如果包括的话,给会话中的每个远程用户绑定【即时消息接收】委托事件,

    ((InstantMessageModality)e.Participant.Modalities[ModalityTypes.InstantMessage]).InstantMessageReceived += new EventHandler<MessageSentEventArgs>(InstantMessageReceived);

    iii. 并且给每个远程用户发送即时消息。先获取 InstantMessageModality 实例,此实例通过第3步创建的会话来获取,如下列代码来获取:

    InstantMessageModality imModality = (InstantMessageModality)Conversation.Modalities[ModalityTypes.InstantMessage];

    如果获取的InstantMessageModality实例中包含了发送即时消息的方法,即调用实例中的发送消息方法。代码如下所示:

    if (imModality.CanInvoke(ModalityAction.SendInstantMessage))
    
    {
    
    IAsyncResult asyncResult = imModality.BeginSendMessage(
    
    textMessage,
    
    SendMessageCallback,
    
    imModality);
    
    }
  • 相关阅读:
    学习网站
    支付宝调用错误:Call to undefined function openssl_sign()
    打包APP
    PHP 转义
    tp5学习
    js函数
    php学习随笔--定时触发
    day07
    60.函数应用:学生管理系统
    59.列表推导式
  • 原文地址:https://www.cnblogs.com/poissonnotes/p/3024380.html
Copyright © 2011-2022 走看看