이 문서는 기계 번역을 이용하여 번역되었습니다. 문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

Binding.ReceiveTimeout 속성

 

게시 날짜: 2016년 11월

연결이 끊어지기 전에 응용 프로그램 메시지가 수신되지 않는 비활성 상태로 유지될 수 있는 시간 간격을 가져오거나 설정합니다.

네임스페이스:   System.ServiceModel.Channels
어셈블리:  System.ServiceModel(System.ServiceModel.dll에 있음)

public TimeSpan ReceiveTimeout { get; set; }

속성 값

Type: System.TimeSpan

제한 시간이 초과되기 전에 응용 프로그램에서 메시지를 수신해야 하는 시간을 지정하는 TimeSpan입니다. 기본값은 10 분입니다.

Exception Condition
ArgumentOutOfRangeException

값이 0보다 작거나 너무 큰 경우

신뢰할 수 있는 세션을 사용할 경우에는 두 가지 비활성 타이머를 충족해야 연결을 유지할 수 있습니다. 이러한 두 비활성 타이머 중 하나라도 충족되지 않으면 연결이 삭제됩니다.

  • 첫 번째 비활성 타이머는 InactivityTimeout이며, 신뢰할 수 있는 세션에서 작동합니다. 이 비활성 타이머는 시간 제한 동안 응용 프로그램 또는 인프라 메시지가 수신되지 않으면 발생합니다. 인프라 메시지는 응용 프로그램 데이터를 포함하는 메시지가 아니라 상태 유지 또는 승인과 같이 채널 스택의 프로토콜 중 하나에서 사용하도록 생성되는 메시지입니다.

  • 두 번째 비활성 타이머는 서비스에 사용되며 바인딩의 ReceiveTimeout 설정을 사용합니다. 이 비활성 타이머는 시간 제한 동안 응용 프로그램 메시지가 수신되지 않으면 발생합니다. 예를 들어 이 타이머는 세션에 사용되는 채널을 서버에서 닫기 전까지 클라이언트에서 적어도 하나의 메시지를 서버로 보내는 데 소비할 수 있는 최대 시간을 지정합니다. 이 동작은 클라이언트에서 임의의 시간 동안 서버 리소스를 유지하지 못하게 합니다.

두 가지 비활성 타이머 중 하나라도 발생하면 연결이 끊어지기 때문에 InactivityTimeout을 초과한 이후에 ReceiveTimeout을 더 높게 설정하는 것은 아무 소용 없습니다. 이 두 가지 시간 제한의 기본값은 10분이므로 신뢰할 수 있는 세션을 사용한 때 적용되는 시간을 변경하려면 항상 두 값을 함께 늘려야 합니다.

바인딩이나 채널에서 트랜잭션 흐름이 활성화된 경우 작업을 실행하는 데 지정된 제한 시간보다 더 오랜 시간이 걸릴 수 있습니다. 이 경우 제한 시간 만료로 인해 작업에 오류가 발생하고 트랜잭션이 중단됩니다.

보안 세션을 사용 하는 경우는 ReceiveTimeout 바인딩에 대해 설정 하는 값은 세션 제한 시간으로도 사용 됩니다.

유니버설 Windows 플랫폼
8 이후 사용 가능
.NET Framework
3.0 이후 사용 가능
이식 가능한 클래스 라이브러리
이식 가능한 .NET 플랫폼 에서 지원됨
Silverlight
2.0 이후 사용 가능
Windows Phone Silverlight
7.0 이후 사용 가능
맨 위로 이동
표시: