Objawy
Załóżmy, że rozwój aplikacji przy użyciu programu Microsoft Lync Server 2013 trwała rozmowa SDK. Aplikacja tworzy wiele punktów końcowych, a użytkownicy na punktach końcowych umożliwia wykonywanie akcji w wiele wątków aplikacji. Na przykład użytkownicy na punktach końcowych dołączyć do pokoju rozmów, Wyślij wiadomość i następnie pozostawić pokoju rozmów. W tej sytuacji aplikacja zgłasza następujący wyjątek nieobsłużony i następnie ulega awarii:
Nieobsługiwany System.Collections.Generic.KeyNotFoundException
w System.Collections.Generic.Dictionary'2.get_Item (klucz TKey)
w Microsoft.Rtc.Collaboration.PersistentChat.Internal.ChatRoomCache.get_Item (identyfikator Uri uri)
w Microsoft.Rtc.Collaboration.PersistentChat.PersistentChatEndpoint.get_Item (identyfikator Uri uri)
w Microsoft.Rtc.Collaboration.PersistentChat.Internal.MessageHandler.HandlePartNotify (obiektu messageIn)
w Microsoft.Rtc.Collaboration.PersistentChat.Internal.MessageHandler.ProcessQueuedMessage (wiadomość transportmessage)
w Microsoft.Rtc.Collaboration.PersistentChat.Internal.MessageRouter.HandleMessage (stan obiektu)
w System.Threading.ExecutionContext.RunInternal (ExecutionContext executionContext, ContextCallback wywołania zwrotnego, stan obiektu, Boolean preserveSyncCtx)
w System.Threading.ExecutionContext.Run (ExecutionContext executionContext, ContextCallback wywołania zwrotnego, stan obiektu, Boolean preserveSyncCtx)
w System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
w System.Threading.ThreadPoolWorkQueue.Dispatch()
Przyczyna
Ten problem jest spowodowany przez błąd synchronizacji, która występuje między dwa wątki. Gdy jeden wątek usuwa element w słowniku, a następnie inny wątek usiłuje uzyskać dostęp do elementu w słowniku, aplikacja zgłasza nieobsługiwany wyjątek KeyNotFoundException . Następnie awarie aplikacji.
Rozwiązanie
Aby rozwiązać ten problem, należy zainstalować następującej aktualizacji zbiorczej:
2835432 Opis aktualizacji zbiorczej 5.0.8308.420 Lync Server 2013, podstawowe składniki: lipca 2013
Więcej informacji
Aby uzyskać więcej informacji na temat programu Lync Server 2013 trwała rozmowa SDK przejdź do następującej witryny firmy Microsoft:
Ogólne informacje dotyczące programu Lync Server 2013 trwała rozmowa SDK