문제

WCF에서 타임 아웃은 어떻게 작동합니까? 예를 들어 구성 할 수 있다는 것을 알고 있습니다 SendTimeout 그리고 미주 시간 클라이언트 구속력. 그러나 그들은 어떻게 일합니까?

MSDN이 설명합니다 SendTimeout 처럼:

전송 작업을 완료하기 위해 제공된 시간 간격을 지정하는 시간대 값. 이 값은 0보다 크거나 같아야합니다. 기본값은 00:01:00입니다.

전송 작업/수신 작업이란 무엇입니까?

도움이 되었습니까?

해결책

고객 입장에서:

  • SendTimeout은 OperationTimeout을 초기화하는 데 사용됩니다. 이는 메시지를 보내기위한 전체 상호 작용을 통제합니다 (요청중인 케이스에서 회신 메시지를받는 포함). 이 타임 아웃은 CallbackContract 메소드에서 회신 메시지를 보낼 때도 적용됩니다.
  • OpenTimeout 및 CloseTimeout은 채널을 열고 닫을 때 사용됩니다 (명시적인 시간 초과 값이 전달되지 않은 경우).
  • 미주당이 사용되지 않습니다.

서버 측:

  • 클라이언트 (콜백)와 동일한 시간을 보내고 열고 닫습니다.
  • LecketImeout은 ServiceFramework 레이어에서 세션 IDLE 타임 아웃을 초기화하는 데 사용됩니다.

출처입니다 MSDN 포럼의 Brian McNamara.

다른 팁

"WCF의 시간 초과 및 기본값"을 참조하십시오. http://blogs.msdn.com/b/hongmeig/archive/2010/03/06/timeouts-in-wcf-andeir-default-values.aspx

바인딩-센트 타임 아웃, 채권 시간, OpenTimeout 및 CloseTimeout의 시간 초과. 바인딩의 구성 또는 코드를 통해 쉽게 설정할 수 있습니다. 그 기본값은 1 분입니다.

ServiceHost에는 OpenTimeout과 Closetimeout이 있습니다. OpenTimeout의 기본값은 1 분이며 CloseTimeout의 기본값은 10 초입니다.

클라이언트 측 채널의 타임 아웃. OperationTimeout이 있으며 채널을 IconTextChannel로 캐스팅하여 설정할 수 있습니다. 이에 대한 기본값도 1 분입니다. ChannelInitializationTimeout이라는 TCP Transport의 TTimeout 및 기본값은 5 초입니다.

ASPNET. 서비스 호스트 Close Timeout과 마찬가지로 종료 시간 초과가 있습니다. 기본값은 90 초입니다. Operation TimeOut과 마찬가지로 ExecutionTimeout은 기본값이 110 초입니다.

해당 게시물의 내용 외에도 클라이언트 엔드에 정의 된 작업 시간 초과도 있습니다. 이것 좀 봐:

http://final-proj.blogspot.com/2009/09/wcf-timeouts.html

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top