2008-10-23 17 views
61

WCF에서 시간 제한은 어떻게 작동합니까? 예를 들어, 클라이언트 바인딩을 위해 sendTimeoutreceiveTimeout을 구성 할 수 있습니다. 그러나 어떻게 작동합니까?제한 시간 WCF 서비스

는 MSDN sendTimeout을 기술 : 완료하기 송신 동작에 제공되는 시간 간격을 지정

시간 범위 값. 이 값은 이상이어야합니다. 기본값은 00:01:00입니다.

보내기 작업/수신 작업이란 무엇입니까?

답변

61

클라이언트 측 :

  • SendTimeout는 (요청 - 응답의 경우의 응답 메시지를 수신하는 단계를 포함 함) 메시지를 전송하는 전체 상호 작용에 적용되는 OperationTimeout을 초기화하는 데 사용된다. 이 타임 아웃은 CallbackContract 메소드에서 응답 메시지를 보낼 때도 적용됩니다.
  • OpenTimeout 및 CloseTimeout은 채널을 열고 닫을 때 사용됩니다 (명시 적 제한 시간 값이 전달되지 않은 경우).
  • ReceiveTimeout이 사용되지 않습니다.

서버 측 :

  • 보내기, 열기, 그리고 (콜백) 클라이언트와 동일한 닫기 시간 초과.
  • ReceiveTimeout은 ServiceFramework 계층에서 세션 유휴 시간 초과를 초기화하는 데 사용됩니다.

출처는 Brian McNamara on MSDN forums입니다.

+0

이 링크는 죽었습니다. 누구든지 업데이트 할 수 있습니까? – BrettRobi

+5

링크가 나를 위해 작동 – Brian

+0

OperationTimeout을 매우 높은 값으로 설정하고 sendTimeout을 엄청나게 작은 값으로 설정하면 본질적으로 시간 초과가 발생하므로 절대로 시간 초과 예외가 발생하지 않습니다. 아무도 sendTimeout 예외를 트리거하는 예제를 어떻게 설정할 수 있습니까? –

9

이 바인딩 SendTimeout에 "WCF의 시간 제한 및 기본값"http://blogs.msdn.com/b/hongmeig/archive/2010/03/06/timeouts-in-wcf-and-their-default-values.aspx

타임 아웃을 참조 ReceiveTimeout, openTimeout의 및 CloseTimeout을. Binding에서 구성 또는 코드를 통해 쉽게 설정할 수 있습니다. 기본값은 1 분입니다.

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

클라이언트 측 채널에서 시간 초과. OperationTimeout이 있으며, 채널을 IContextChannel로 전송하여 설정할 수 있습니다. 기본 도 1 분입니다. TCP 전송에서 Ttimeout은 ChannelInitializationTimeout이고 기본값은 5 초입니다.

ASPNET.서비스 호스트와 마찬가지로 종료 시간 제한이 있습니다. 종료, 기본값은 90 초입니다. ExecutionTimeout은 작업 시간 초과와 마찬가지로 기본값은 110 초입니다.