Sintomi
Si supponga che si sviluppa un'applicazione utilizzando il SDK di Microsoft Lync Server 2013 Persistent Chat. L'applicazione crea più endpoint e gli utenti sugli endpoint utilizzano l'applicazione per eseguire azioni in più thread. Utenti sugli endpoint, ad esempio, partecipare a una chat, inviare un messaggio e lasciano quindi una chat. In questo caso, l'applicazione genera la seguente eccezione non gestita e quindi si blocca:
System.Collections.Generic.KeyNotFoundException non gestita
in System.Collections.Generic.Dictionary'2.get_Item (chiave TKey) in Microsoft.Rtc.Collaboration.PersistentChat.Internal.ChatRoomCache.get_Item (Uri uri) in Microsoft.Rtc.Collaboration.PersistentChat.PersistentChatEndpoint.get_Item (Uri uri) in Microsoft.Rtc.Collaboration.PersistentChat.Internal.MessageHandler.HandlePartNotify (oggetto messageIn) in Microsoft.Rtc.Collaboration.PersistentChat.Internal.MessageHandler.ProcessQueuedMessage (messaggio TransportMessage) in Microsoft.Rtc.Collaboration.PersistentChat.Internal.MessageRouter.HandleMessage (stato oggetto) in System.Threading.ExecutionContext.RunInternal (ExecutionContext executionContext, callback ContextCallback, lo stato dell'oggetto, Boolean preserveSyncCtx) in System.Threading.ExecutionContext.Run (ExecutionContext executionContext, callback ContextCallback, lo stato dell'oggetto, Boolean preserveSyncCtx) in System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() in System.Threading.ThreadPoolWorkQueue.Dispatch()Causa
Questo problema è causato da un problema di temporizzazione che si verifica tra due thread. Quando un thread Elimina un elemento in un dizionario e un altro thread tenta di accedere all'elemento nel dizionario, l'applicazione genera un'eccezione non gestita di un'eccezione KeyNotFoundException . Quindi, l'applicazione si blocca.
Risoluzione
Per risolvere questo problema, installare l'aggiornamento cumulativo seguente:
2835432 descrizione dell'aggiornamento cumulativo 5.0.8308.420 per Lync Server 2013, componenti principali: luglio 2013
Ulteriori informazioni
Per ulteriori informazioni su Lync Server 2013 Persistent Chat SDK, visitare il seguente sito Web Microsoft:
Informazioni generali su Lync Server 2013 Persistent Chat SDK