Symptomen
Stel dat u een toepassing ontwikkelen met behulp van de SDK van Microsoft Lync Server 2013 Persistent Chat. Maakt meerdere endpoints van de toepassing en de gebruikers op de eindpunten met de toepassing bewerkingen uitvoeren in meerdere threads. Bijvoorbeeld, gebruikers op de eindpunten deelnemen aan een chatruimte, een bericht verzenden en laat een chatruimte. In dit geval de toepassing de volgende niet-verwerkte uitzondering en vervolgens loopt vast:
Niet-verwerkte System.Collections.Generic.KeyNotFoundException
bij System.Collections.Generic.Dictionary'2.get_Item (TKey-toets)
op Microsoft.Rtc.Collaboration.PersistentChat.Internal.ChatRoomCache.get_Item Uri uri)
op Microsoft.Rtc.Collaboration.PersistentChat.PersistentChatEndpoint.get_Item Uri uri)
op Microsoft.Rtc.Collaboration.PersistentChat.Internal.MessageHandler.HandlePartNotify (Object messageIn)
bij Microsoft.Rtc.Collaboration.PersistentChat.Internal.MessageHandler.ProcessQueuedMessage (TransportMessage-bericht)
op Microsoft.Rtc.Collaboration.PersistentChat.Internal.MessageRouter.HandleMessage (Object staat)
bij System.Threading.ExecutionContext.RunInternal (ExecutionContext executionContext, ContextCallback, terugbellen, Object staat, Boolean preserveSyncCtx)
bij System.Threading.ExecutionContext.Run (ExecutionContext executionContext, ContextCallback, terugbellen, Object staat, Boolean preserveSyncCtx)
op System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
op System.Threading.ThreadPoolWorkQueue.Dispatch()
Oorzaak
Dit probleem wordt veroorzaakt door een timingprobleem dat tussen twee threads optreedt. Wanneer één thread een item in een woordenboek verwijdert en vervolgens een andere thread probeert toegang te krijgen tot het item in de woordenlijst, genereert de toepassing een niet-verwerkte uitzondering in de KeyNotFoundException . Vervolgens de toepassing loopt vast.
Oplossing
Dit probleem oplossen door de volgende cumulatieve update te installeren:
2835432 beschrijving van de cumulatieve update 5.0.8308.420 voor kernonderdelen van Lync Server 2013: juli 2013
Meer informatie
Ga naar de volgende Microsoft-website voor meer informatie over Lync Server 2013 Persistent Chat SDK:
Algemene informatie over Lync Server 2013 Persistent Chat SDK