Microsoft MVP성태의 닷넷 이야기
[답변]: [추가]: [답변]: 아래 887번에 대한 추가 질문 [링크 복사], [링크+제목 복사],
조회: 10359
글쓴 사람
정성태 (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)
1279(non...6/23/201411551(글쓴이의 요청으로 삭제합니다.) [17]
1278이상식6/19/201412765.net DLL 내 자바스크립트를 수정 또는 재정의 할 수 있을까요? [3]
1277김솔지6/18/201410459silverlight에서 datagrid, listbox질문이여 [2]
1276정우석6/16/20149980쿠키 [1]
1274김솔지6/10/201414479배포 페이지 url을 얻고 싶습니다. [8]
1272이훈모6/7/201410036정말 어려운 상황에 직면했습니다. [1]
1270Jong...6/2/201419511C#과 C++을 이용한 Image 처리. [13]
1269김아영5/29/201410182InitializeComponent 함수 호출 지연 현상 [5]
1268솔솔5/27/20149862smart client [1]
1266김솔지5/22/201411945clickonce 수정에 대해 알고싶습니다. [2]
1265이은아5/22/201415540DataGridView 헤더를 두줄이상으로 하고싶습니다. [1]파일 다운로드1
1264김인호5/18/201413125소스코드 및 예제그림 zip 파일 [1]
1263이영종5/15/201411581159페이지 오타인것 같습니다 [5]
1262(non...5/4/201412463(글쓴이의 요청으로 삭제합니다.) [10]
1261이근주5/4/201410754다시 한번 질문드릴께요. [2]
1259이근주5/1/20149815도서 오류인 것 같네요.. [1]
1258최세정4/28/201412230안녕하세요~php module 오류로 고민하다가 여기까지 왔네요..ㅜㅜ [2]
1252popo4/21/201411468바인딩 질문입니다. [2]
1251(non...4/20/201415598(글쓴이의 요청으로 삭제합니다.) [11]
1249홍용규4/17/201415607app.config 파일 관련 질문 있습니다. [2]
1246(non...3/30/201411937(글쓴이의 요청으로 삭제합니다.) [1]
1245POPO3/26/201411338Http 프로토콜 관련 질문 입니다. [1]
1244(non...3/26/201411451(글쓴이의 요청으로 삭제합니다.) [1]
1241(non...3/22/201415224(글쓴이의 요청으로 삭제합니다.) [4]
1240이석주3/21/201418129인터넷 익스플로러가 hang이 걸리는 현상 문의 [1]파일 다운로드1
1238(non...3/13/201411987(글쓴이의 요청으로 삭제합니다.) [2]
... 46  47  48  49  50  51  52  53  54  [55]  56  57  58  59  60  ...