Sintomas
Suponha que você desenvolver um aplicativo usando o SDK do Microsoft Lync Server 2013 persistente bate-papo. O aplicativo cria vários pontos de extremidade e os usuários sobre os pontos de extremidade usam o aplicativo para executar ações em vários segmentos. Por exemplo, os usuários sobre os pontos de extremidade ingressar em uma sala de bate-papo, enviar uma mensagem e deixam uma sala de bate-papo. Nessa situação, o aplicativo gera a seguinte exceção sem tratamento e, em seguida, travamentos:
System.Collections.Generic.KeyNotFoundException sem tratamento
no System.Collections.Generic.Dictionary'2.get_Item (TKey key)
no Microsoft.Rtc.Collaboration.PersistentChat.Internal.ChatRoomCache.get_Item (Uri uri)
no Microsoft.Rtc.Collaboration.PersistentChat.PersistentChatEndpoint.get_Item (Uri uri)
no Microsoft.Rtc.Collaboration.PersistentChat.Internal.MessageHandler.HandlePartNotify (objeto messageIn)
no Microsoft.Rtc.Collaboration.PersistentChat.Internal.MessageHandler.ProcessQueuedMessage (mensagem de TransportMessage)
no Microsoft.Rtc.Collaboration.PersistentChat.Internal.MessageRouter.HandleMessage (estado do objeto)
no System.Threading.ExecutionContext.RunInternal (ExecutionContext executionContext, retorno de chamada ContextCallback, estado do objeto, Boolean preserveSyncCtx)
no System.Threading.ExecutionContext.Run (ExecutionContext executionContext, retorno de chamada ContextCallback, estado do objeto, Boolean preserveSyncCtx)
em System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
em System.Threading.ThreadPoolWorkQueue.Dispatch()
Causa
Esse problema é causado por um problema de temporização que ocorre entre dois segmentos. Quando um thread exclui um item em um dicionário e, em seguida, outro thread tenta acessar o item no dicionário, o aplicativo lança uma exceção sem tratamento do KeyNotFoundException . Em seguida, o aplicativo trava.
Resolução
Para resolver esse problema, instale a seguinte atualização cumulativa:
2835432 descrição da atualização cumulativa 5.0.8308.420 para o Lync Server 2013, componentes principais: julho de 2013
Mais informações
Para obter mais informações sobre o SDK de bate-papo do Lync Server 2013 persistente, acesse o seguinte site da Microsoft:
Informações gerais sobre o SDK de bate-papo do Lync Server 2013 persistente