증상
Microsoft Lync Server 2013 영구 채팅 SDK를 사용 하 여 응용 프로그램을 개발 하는 것을 가정 합니다. 응용 프로그램 끝점을 여러 개 만들고 여러 스레드로 작업을 수행 하려면 응용 프로그램을 사용 하는 끝점의 사용자가. 예를 들어, 끝점의 사용자가 채팅 방에 참가 메시지를 보낼 및 채팅방을 둡니다. 이 경우 응용 프로그램 다음 처리 되지 않은 예외를 throw 하 고 충돌 합니다.
처리 되지 않은 System.Collections.Generic.KeyNotFoundException
System.Collections.Generic.Dictionary'2.get_Item (TKey 키)에 Microsoft.Rtc.Collaboration.PersistentChat.Internal.ChatRoomCache.get_Item (Uri uri)에 Microsoft.Rtc.Collaboration.PersistentChat.PersistentChatEndpoint.get_Item (Uri uri)에 Microsoft.Rtc.Collaboration.PersistentChat.Internal.MessageHandler.HandlePartNotify (messageIn 개체)에 Microsoft.Rtc.Collaboration.PersistentChat.Internal.MessageHandler.ProcessQueuedMessage (TransportMessage 메시지)에서 Microsoft.Rtc.Collaboration.PersistentChat.Internal.MessageRouter.HandleMessage (개체 상태)에서 System.Threading.ExecutionContext.RunInternal (ExecutionContext executionContext ContextCallback 콜백, 개체, 부울 preserveSyncCtx)에 System.Threading.ExecutionContext.Run (ExecutionContext executionContext ContextCallback 콜백, 개체, 부울 preserveSyncCtx)에 System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()에서 System.Threading.ThreadPoolWorkQueue.Dispatch()에서원인
이 문제는 두 스레드 사이 타이밍 문제가 발생 합니다. 사전에서 항목을 삭제 하는 한 스레드가 다른 스레드가 다음 사전에 있는 항목에 액세스 하려고 때 응용 프로그램 KeyNotFoundException 처리 되지 않은 예외를 throw 합니다. 다음 응용 프로그램이 충돌 합니다.
해결 방법
이 문제를 해결하려면 다음 누적 업데이트를 설치합니다.
Lync Server 2013 핵심 구성 요소에 대 한 누적 업데이트 5.0.8308.420 2835432 설명: 2013 년 7 월
자세한 내용
Lync Server 2013 영구 채팅 SDK에 대 한 자세한 내용은 다음 Microsoft 웹 사이트로 이동: