Sintomas
Suponha que desenvolver uma aplicação utilizando o Microsoft Lync Server 2013 persistentes Chat SDK. A aplicação cria vários pontos finais e os utilizadores em pontos finais utilizam a aplicação para executar acções no vários threads. Por exemplo, os utilizadores em pontos finais aderir a uma sala de chat, enviar uma mensagem e, em seguida, deixam numa sala de conversação. Nesta situação, a aplicação lança a seguinte excepção não processada e, em seguida, falha:
System.Collections.Generic.KeyNotFoundException não processada
em System.Collections.Generic.Dictionary'2.get_Item (chave TKey)
a Microsoft.Rtc.Collaboration.PersistentChat.Internal.ChatRoomCache.get_Item (Uri uri)
a Microsoft.Rtc.Collaboration.PersistentChat.PersistentChatEndpoint.get_Item (Uri uri)
em Microsoft.Rtc.Collaboration.PersistentChat.Internal.MessageHandler.HandlePartNotify (messageIn do objecto)
em Microsoft.Rtc.Collaboration.PersistentChat.Internal.MessageHandler.ProcessQueuedMessage (mensagem de TransportMessage)
em Microsoft.Rtc.Collaboration.PersistentChat.Internal.MessageRouter.HandleMessage (estado do objecto)
em System.Threading.ExecutionContext.RunInternal (ExecutionContext executionContext, chamada de retorno de ContextCallback, estado do objecto, Boolean preserveSyncCtx)
em System.Threading.ExecutionContext.Run (ExecutionContext executionContext, chamada de retorno de ContextCallback, estado do objecto, Boolean preserveSyncCtx)
em System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
em System.Threading.ThreadPoolWorkQueue.Dispatch()
Causa
Este problema é causado por um problema de temporização que ocorre entre dois threads. Quando um módulo elimina um item num dicionário e, em seguida, tenta aceder ao item no dicionário de outro thread, a aplicação lança uma excepção não processada do KeyNotFoundException . Em seguida, a aplicação falha.
Resolução
Para resolver este problema, instale a actualização cumulativa seguinte:
2835432 descrição da actualização cumulativa 5.0.8308.420 para o Lync Server 2013, componentes principais: de Julho de 2013
Mais informações
Para mais informações sobre o Lync Server 2013 persistentes Chat SDK, consulte o seguinte Web site da Microsoft:
Informações gerais sobre Lync Server 2013 persistentes Chat SDK