Symptômes
Supposons que vous développez une application à l’aide de Microsoft Lync Server 2013 permanent Chat SDK. L’application crée plusieurs points de terminaison, et les utilisateurs sur les points de terminaison utiliser l’application pour effectuer des actions sur plusieurs threads. Par exemple, les utilisateurs sur les points de terminaison rejoindre une salle de conversation, envoyer un message et laisser ensuite une salle de conversation. Dans ce cas, l’application lève l’exception non gérée suivante, puis se bloque :
System.Collections.Generic.KeyNotFoundException non gérée
à System.Collections.Generic.Dictionary'2.get_Item (TKey clé) à Microsoft.Rtc.Collaboration.PersistentChat.Internal.ChatRoomCache.get_Item (Uri uri) à Microsoft.Rtc.Collaboration.PersistentChat.PersistentChatEndpoint.get_Item (Uri uri) à Microsoft.Rtc.Collaboration.PersistentChat.Internal.MessageHandler.HandlePartNotify (objet messageIn) à Microsoft.Rtc.Collaboration.PersistentChat.Internal.MessageHandler.ProcessQueuedMessage (message TransportMessage) à Microsoft.Rtc.Collaboration.PersistentChat.Internal.MessageRouter.HandleMessage (état de l’objet) à System.Threading.ExecutionContext.RunInternal (ExecutionContext executionContext ContextCallback rappel, état de l’objet, Boolean preserveSyncCtx) à System.Threading.ExecutionContext.Run (ExecutionContext executionContext ContextCallback rappel, état de l’objet, Boolean preserveSyncCtx) à System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() à System.Threading.ThreadPoolWorkQueue.Dispatch()Cause
Ce problème est dû à un problème de synchronisation qui se produit entre les deux threads. Lorsqu’un thread supprime un élément dans un dictionnaire, et ensuite un autre thread tente d’accéder à l’élément dans le dictionnaire, l’application lève une exception non gérée de KeyNotFoundException . Ensuite, l’application se bloque.
Résolution
Pour résoudre ce problème, installez la mise à jour cumulative suivante :
Description de 2835432 de la mise à jour cumulative 5.0.8308.420 de Lync Server 2013, composants principaux : juillet 2013
Plus d'informations
Pour plus d’informations sur le SDK de conversation permanent de Lync Server 2013, accédez au site Web de Microsoft suivant :
Informations générales sur les SDK de conversation permanent de Lync Server 2013