Microsoft MVP성태의 닷넷 이야기
WCF 클라이언트 비정상 종료 관련 [링크 복사], [링크+제목 복사],
조회: 13204
글쓴 사람
최정수 (warshine at nio.co.kr)
홈페이지
첨부 파일
 

WCF net.tcp로 서버 클라이언트 프로그램 개발 하고 있습니다.

소켓을 사용시 클라이언트가 종료 되면 서버쪽에 OnClose 이벤트가 떨어져서 클라이언트 정보를 제거 할수 있습니다.
ping / pong을 사용해서 체크두 할수 있고요

위 내요을 WCF로 구현 했을 경우
우선 정상적인 클라이언트 종료는 처리가 가능 합니다.
종료시 종료 루틴을 타니 서버 측에서 클라이언트 정보를 제거 할수 있습니다.

문제 클라이언트가 비정상 종료 (작업관리자에서 프로세스 죽이기 기타 등등) 였을때 서버측에서 알수 있는 방법이 없을까요 ?

클을 보니

OperationContext.Current.Channel.Faulted
OperationContext.Current.Channel.Closed

<reliableSession enabled="true" inactivityTimeout="00:00:05" ordered="true"/>

이 부분을 이용해서 처리 할수 있다고 하셨는데 inactivityTimeout="00:00:05" 이걸 하지 않으면 Faulted 이벤트가 떨어지지 않습니다.

이게 항시 연결 상태 이기 때문에 클라이언트가 Join() 이란 함수를 호출하고 5초 후면 Faulted 이벤트가 떨어집니다. 즉 연결이 끊어지는 상황인거져

이부준을 해결할수 있는 방법이 없을까요 ?










[최초 등록일: ]
[최종 수정일: 4/10/2012]


비밀번호

댓글 작성자
 



2012-04-17 09시58분
답변이 많이 늦었습니다. 일단, 아래의 글을 한번 더 자세히 읽어보시고, 다시 질문해 주시기 바랍니다.

WCF 의 InactivityTimeout
; http://www.sysnet.pe.kr/2/0/898

5초 후에 Faulted 이벤트가 떨어지는 이유가 위의 글에 설명되어져 있습니다.
정성태

1  2  3  4  [5]  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5832김지우2/21/20232951event와 delegate의 차이 , event를 써야하는 이유 [1]
5831이우람2/20/20233182ref 전역변수가 pinned가 될수 있나요? [2]
5830냉수마찰2/19/20233471C# GridView에 Column별 데이터 추가하는 방법에 대해 [1]
5829수박942/19/20233476키움 API를 윈폼과 WPF의 네임스페이스 없이 콘솔이나 WinUI3에서 사용할 수 있는 방법이 있나요? [2]파일 다운로드1
5828김재영2/19/20233264장기적으로는 this 구문을 안쓰는게 맞을까요? [2]
5827lee2/18/20233183파이썬 설치 오류 질문입니다 [1]
5826Syong2/14/20233776Socket 관련 Leak (OverlappedAsyncResult, OverlappedData) 관련 문의 [7]파일 다운로드1
5825박성원2/14/20233338Listview 컨트롤의 화면 전환 시 갱신 속도 [1]
5823검은콩2/13/20233937catch(Exception ex)의 line번호를 쉽게 알 수 없는지요? [7]
5822김지우2/11/20233181책을 보면서 sync, async 이해가 되지 않는 부분이 있습니다. [5]파일 다운로드2
5821검은콩2/9/20233214Async 신뢰성과 소켓데이터 [4]
5820차가워2/8/20233304다른 프로세스 실행 후 포커스 가져오기 [3]
5819취준생2/7/20233411WPF 관련 실무가 궁금합니다. [3]
5818윤길2/7/20232851ObservableCollection 에서 INotifyPropertyChanged 구현해야하나요? [2]
5817흰털너부리2/7/20232997배포 시 winform 실행 콘솔로그 보는 방법 [1]
5816흰털너부리2/6/20232818.net core json array validation 질문 드립니다. [1]
5815김재영2/6/20232925종단간 암호화에 대해 시나리오인데 타당한 시나리오일까요? [2]
5814한예지 donator2/6/20233295decompile? [9]
5813김재영2/5/20233182openssl genrsa 2048시 키 생성이 다르게 됩니다. - 파일첨부 [4]파일 다운로드1
5812김재영2/5/20233434openssl genrsa 2048시 키 생성이 다르게 됩니다. [2]
5811치르바2/3/20233276MiniDumpWriteDump API로 덤프수집을 했는데요.. [3]
5810이건우1/31/20233380윈도우서비스를 통한 웹통신관련 질문입니다 [3]
5809이상훈1/31/20233827다채널 영상 디스플레이어 개발 관련 질문입니다. [3]
5808근우1/30/20233468WPF 에서 UserControl 과 ControlTemplate 의 차이점은 무엇인가요? [6]
5807궁금맨1/28/20234647C# 10 책에 나온 예제의 결과가 제 컴에서는 좀 달라서요. 이유가 궁금합니다. [1]
5806스레드1/25/20233165총정리 - 다양한 스레드들 [초안] [1]파일 다운로드1
1  2  3  4  [5]  6  7  8  9  10  11  12  13  14  15  ...