2013-01-12 44 views
0

我有一个应用程序,我已订阅ConversationAdded和ConversationRemoved。对话唯一性

我想维护从ConversationAdded事件收到的会话字典列表,并将其从列表中删除,一旦我收到ConversationRemoved事件。

所以我的问题 - >有没有什么方法可以找到一些独特性或某些会话密钥,我可以将它添加到列表中。当我得到对话删除的事件时,我可以使用收到的对话对象中的该键,并从列表中删除对话对象。

请让我知道您的意见。

回答

2

是的,有一个ConversationID你可以得到。从ConversationAdded事件,你可以用这个得到它:

string ConversationID = e.Conversation.Properties[ConversationProperty.Id].ToString(); 

更多信息和适当的步行通过on my blog here

+0

嗨, 的MSDN网站微软的Lync说,“ID”或会话标识符不恒定,可以在整个的一生都在变化对话。 “[ConversationProperty.Id]” 因此,我们可以将其视为存储对话时的唯一标识符或密钥。 此外,我观察到在Conversation_Removed中,我们将ConversationProperty.Id作为null。它发生在我在Lync 2013. http://msdn.microsoft.com/en-us/library/lync/microsoft.lync.model.conversation.conversationproperty_di_3_uc_ocs14mreflyncwpf.aspx – decisive

+0

这是来自另一个论坛的评论,可以考虑作为答案 decisive

+0

我知道conversationID可以改变,如果对话升级到会议等。但是,在简单的2人通话中,我还没有看到对话ID更改之前(但这并不意味着无论如何)。不幸的是,我不知道更好的ID。你可以存储对话的发送者和接收者,并将其用作关键字?我不是100%确定Lync是否允许同一人之间进行多次对话(我不明白为什么不会) –