Binding.ReceiveTimeout 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
연결이 끊어지기 전에 애플리케이션 메시지가 수신되지 않는 비활성 상태로 유지될 수 있는 시간 간격을 가져오거나 설정합니다.
public:
property TimeSpan ReceiveTimeout { TimeSpan get(); void set(TimeSpan value); };
public TimeSpan ReceiveTimeout { get; set; }
member this.ReceiveTimeout : TimeSpan with get, set
Public Property ReceiveTimeout As TimeSpan
속성 값
제한 시간이 초과되기 전에 애플리케이션에서 메시지를 수신해야 하는 시간을 지정하는 TimeSpan입니다. 기본값은 10 분입니다.
예외
값이 0보다 작거나 너무 큰 경우
설명
신뢰할 수 있는 세션을 사용하는 경우 연결을 활성 상태로 유지하기 위해 충족해야 하는 두 가지 비활성 타이머가 있습니다. 이러한 비활성 타이머 중 하나가 꺼지면 연결이 끊어집니다.
첫 번째 비활성 타이머는 신뢰할 수 있는 세션에 있으며 라고 합니다 InactivityTimeout. 이 비활성 타이머는 시간 제한 동안 애플리케이션 또는 인프라 메시지가 수신되지 않으면 발생합니다. 인프라 메시지는 애플리케이션 데이터를 포함하는 메시지가 아니라 상태 유지 또는 승인과 같이 채널 스택의 프로토콜 중 하나에서 사용하도록 생성되는 메시지입니다.
두 번째 비활성 타이머는 서비스에 있으며 바인딩의 ReceiveTimeout 설정을 사용합니다. 이 비활성 타이머는 시간 제한 동안 애플리케이션 메시지가 수신되지 않으면 발생합니다. 예를 들어 서버가 세션에서 사용하는 채널을 닫기 전에 클라이언트가 서버에 하나 이상의 메시지를 보내는 데 걸리는 최대 시간을 지정합니다. 이 동작은 클라이언트가 임의로 오랫동안 서버 리소스를 유지할 수 없도록 합니다.
비활성 타이머가 실행되면 연결이 끊어지기 때문에 보다 ReceiveTimeout 크면 증가 InactivityTimeout 해도 아무 효과가 없습니다. 이 두 시간 제한의 기본값은 10분이므로 신뢰할 수 있는 세션을 사용할 때 항상 두 시간 제한을 늘려야 합니다.
바인딩 또는 채널에서 트랜잭션 흐름을 사용하는 경우 작업이 지정된 시간 제한보다 더 오래 걸릴 수 있습니다. 이러한 경우 만료된 시간 제한으로 인해 작업이 실패하고 트랜잭션이 적절하게 중단됩니다.
세션 ReceiveTimeout 과 함께 보안을 사용하는 경우 바인딩에 설정된 값도 세션 시간 제한으로 사용됩니다.
적용 대상
.NET