2012-01-17 3 views
0

wcf 서비스를 여러 클라이언트에 연결했습니다. 그들 중 하나가 연결을 끊고 프록시 세션을 끝내고 다른 사용자에게 알리려고하면wcf 서비스에 대한 모든 클라이언트 연결 확인

클라이언트가 wcf 서비스에서 연결을 끊는 경우가 있습니다 (예 : 사용자가 프로세스를 종료 함). 어떻게 탐지합니까?이 클라이언트는 연결이 끊어지고 다른 클라이언트에게 알립니다.

+1

여기에 더 많은 내용을 입력하십시오. 어떤 바인딩을 사용합니까? 계약이란 무엇입니까? "적절한"단절을 어떻게 감지합니까? 이렇게하면 사람들이 귀하의 질문을 이해하는 데 도움이됩니다. – oleksii

+0

다른 클라이언트간에 세션 개체를 유지 관리하고 있습니까? –

+0

@oleksii 연결 해제하려는 사용자가 브로드 캐스트 단순 메시지 목록 enum "ActionType.Disconnect"를 보내는 경우 적절한 연결이 끊어집니다. 문제는 프로세스가 갑자기 닫히고이 브로드 캐스트()를 호출 할 시간이 없다는 것입니다. – Saint

답변

4

클라이언트의 연결이 갑자기 끊어지면 클라이언트의 연결이 끊어지면 서비스 측에서 알 수 없으므로 수동으로 사용자의 연결을 끊어야합니다.

이 경우 세션 개체에 LastAccessTime 속성을 추가해야합니다. 이 자리에 일단 당신은 LastAccessTime에 기초하여 세션을 끊을 뒷전 근로자 역할을 써야 할 것입니다. 모든 요청에서이 시간을 현재 시간으로 업데이트합니다.

희망이 도움이됩니다.

관련 문제