C# 返回新的传入呼叫uri

C# 返回新的传入呼叫uri,c#,vb.net,lync-2013,C#,Vb.net,Lync 2013,我使用这个简单的代码来获取呼入呼叫和呼叫者的Uri。如果用户打开了多个Lync会话,则由于静态索引,它始终返回第一个Lync会话。我如何能够获得新的连接索引,以便获得调用方的正确uri Imports Microsoft.Lync.Model Imports Microsoft.Lync.Model.Conversation Imports Lync = Microsoft.Lync.Model.Conversation Public Class myLync Private

我使用这个简单的代码来获取呼入呼叫和呼叫者的Uri。如果用户打开了多个Lync会话,则由于静态索引,它始终返回第一个Lync会话。我如何能够获得新的连接索引,以便获得调用方的正确uri

    Imports Microsoft.Lync.Model
Imports Microsoft.Lync.Model.Conversation
Imports Lync = Microsoft.Lync.Model.Conversation


Public Class myLync
    Private _LyncClient As LyncClient
    Public WithEvents _ConversationMgr As Microsoft.Lync.Model.Conversation.ConversationManager
    Public WithEvents _conv As Conversation

 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Try
            _LyncClient = LyncClient.GetClient()
            _ConversationMgr = _LyncClient.ConversationManager
        Catch ex As Exception
        End Try
 End Sub

 Private Sub _ConversationMgr_ConversationAdded(ByVal sender As Object, ByVal e As Microsoft.Lync.Model.Conversation.ConversationManagerEventArgs) Handles _ConversationMgr.ConversationAdded
        AddHandler e.Conversation.Modalities(ModalityTypes.AudioVideo).ModalityStateChanged, AddressOf AVModalityStateChanged
 End Sub

 Private Sub AVModalityStateChanged(ByVal sender As Object, ByVal e As ModalityStateChangedEventArgs)
        Select Case e.NewState
            Case ModalityState.Notified
                Dim Uri = _ConversationMgr.Conversations.Item(0).Participants.Item(1).Contact.Uri
        End Select
 End Sub

AVModalityStateChanged(ByVal sender作为对象,ByVal e作为ModalityStateChangedEventArgs)
中,可以将
sender
参数强制转换为type
AVModality
,从那里您可以访问参与者

请原谅我的c#但它看起来像:-

  private void Participant_ModalityStateChanged(object sender, ModalityStateChangedEventArgs e)
    {
        if (e.NewState == ModalityState.Connected)
        {
            var modality = (AVModality) sender;
            var participant = modality.Participant;
            var uri = participant.Contact.Uri;
        }
    }

谢谢你的帮助。我不知道我是否做错了什么,因为uri将返回我自己的uri。不是来电者。如果e.NewState=ModalityState.Notified,则私有子AVModalityStateChanged(ByVal发送方作为对象,ByVal e作为ModalityStateChangedEventArgs),然后Dim模态=DirectCast(发送方,AVModali模态)Dim participant=modity.participant Dim Uri=participant.Contact.Uri End If End subend如果我能告诉你,你的代码看起来是fin。该事件处理程序应该被多次命中,这可能值得调试/记录并了解调用它的频率。