Microsoft MVP성태의 닷넷 이야기
[답변]: [추가]: [답변]: 아래 887번에 대한 추가 질문 [링크 복사], [링크+제목 복사]
조회: 10271
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
부모글 보이기/감추기


=== 클라이언트 ===
wcfobj.CallMethod();

=== 서버 ===
void CallMethod()
{
   ... 몇몇 작업 ...

   // 콜백
   foraech (...)
   {
      callback.호출();
   }
}

위와 같이 호출이 되는 상황으로 알고 있는데요. 콜백이 모두 끝날 때까지 처음 호출한 wcfobj.CallMethod는 실행 제어가 반환되지 않습니다.
또한 콜백 역시, "비동기"는 아닙니다. 클라이언트 측으로의 "호출"이 네트워크를 타고 "동기"로 이뤄지고 클라이언트 측의 메서드가 완료된 이후에야 그다음 콜백을 실행하게 됩니다.

지금 테스트까지 해본 것은 아니지만, Oneway 메서드라고 해도 결과값에 대한 "반환"을 기다리지 않는 것뿐, "호출"에 관한 SOAP 통신은 전달을 해야하기 때문에 클라이언트가 비정상 종료된 상태라면 역시 sendTimeout 동안 대기하게 됩니다.

(그러하니, ChartDatabaseChanged에서 당연히 블로킹 됩니다.)

만약, 굳이 서버 측의 메서드에서 ChartDatabaseChanged에 대해 완료됨을 기대하지 않아도 좋은 상황이라면 foreach 부분을 별도로 다른 스레드에 위임하는 것도 한 방법입니다. (예를 들어, ThreadPool.QueueUserWorkItem 메서드 이용)

inactivitytimeout 값은 개별적으로 적용됩니다. 서버에 설정되었다면 서버가 클라이언트를 체크하는 데 사용하고, 클라이언트 측에 설정되었다면 서버를 체크하는 데에 사용합니다. 서버는 inactivitytimeout == 3초, 클라이언트는 inactivitytimeout == 5초라면, 서버는 주기적으로 클라이언트로 3초마다 heart-beat을 체크하고 클라이언트도 역시 주기적으로 5초마다 서버로 heart-beat을 확인하게 됩니다.








[최초 등록일: ]
[최종 수정일: 7/5/2021]


비밀번호

댓글 작성자
 




... 46  47  48  49  50  51  52  [53]  54  55  56  57  58  59  60  ...
NoWriterDateCnt.TitleFile(s)
1333왕초보10/24/201410979Bitmap 질문 [5]
1332김동진10/16/201417076clickonce 와 smartscreen filter 기능에 대해서 [2]
1331궁굼합니다10/8/201411027loopback adapter 자동 설치가 가능 한가요? [2]
1330이현중10/8/201413474파일 다운로드 방법 문의 [2]파일 다운로드1
1329popo10/2/201411161싱글톤과 싱글톤 소멸자에 대해 궁금점이 있습니다. [1]
1328달쏭9/25/201411895WCF Service측에서 parameter 값이 null이 오는 이유를 알고 싶어요. [2]
1326궁굼합니다9/19/201411376VB의 Shell 기능과 완벽히 똑같은 기능의 함수 [4]
1325지현태9/18/201411068WPF 의존속성과 바인딩에 대한 질문입니다.. [1]파일 다운로드1
1324popo9/17/201410276wcf 질문 드립니다. [1]
1323Anon...9/17/201412463인스턴스와 객체의 차이 [1]
1322김영대9/16/201412200죄송하지만 .NET 관련 질문게시판이지만 혹시 ASP.NET MVC에 대해서 질문 드려도 됩니까 (__);; [2]
1321부탁드립...9/15/201413781윈도우 어플리케이션 개발 방법(?) 에대해(직접적인 코드라기보단 프로젝트 방향??) [14]
1320소켓서버...9/13/201413888서로다른 포트번호로 로컬 Socket 서버를 개설시 Close 문제 입니다. [2]
1319ㅇㅇ9/12/201414836134쪽 예제 오타 [3]
1318블루투쓰9/12/201410737page 184 질문드립니다. [1]
1316서동원8/21/201416901ActiveX 개체가 이 속성 또는 메서드를 지원하지 않습니다. [1]
1313양해진8/20/201410102메시지창에 대해서요 [1]
1312김영대8/18/201411718안녕하십니까 정성태님 죄송하지만 C#.NET의 FileInfo 클래스의 CopyTo 메서드 질문드립니다. [3]
1311김솔8/18/201412571nsis파일 수정중에요! [2]
1310조정용8/17/201413453WCF 프로그램에서 Task를 이용한 백그라운드 작업 시 클라이언트에 대한 병목현상. [4]파일 다운로드1
1309서동원8/12/201411621안녕하세요. embeded dll과 관련하여 질문드립니다. [4]
1308김솔8/11/201416202리스트뷰에서 중복파일체크를 하고싶습니다. [3]
1306이상현8/7/20149934Entity 프레임웍에서 테이블만 추가로 등록하는 방법
1307이상현8/7/201410248    답변글 [답변]: 자답이네요. [1]
1305popo8/7/201411510wpf UserControl List 바인딩 질문 입니다. [1]
1304민경수8/7/201414031네이버 카페에 구글 스프레드 시트 삽입 [1]
... 46  47  48  49  50  51  52  [53]  54  55  56  57  58  59  60  ...