다음을 통해 공유


ReliableSession.InactivityTimeout 속성

정의

서비스를 닫기 전에 서비스가 비활성 상태로 유지될 수 있는 시간 간격을 가져오거나 설정합니다.

public:
 property TimeSpan InactivityTimeout { TimeSpan get(); void set(TimeSpan value); };
public TimeSpan InactivityTimeout { get; set; }
member this.InactivityTimeout : TimeSpan with get, set
Public Property InactivityTimeout As TimeSpan

속성 값

TimeSpan

서비스가 특정 시간 동안 비활성 상태로 유지될 경우 서비스를 닫는 시간 간격을 지정하는 TimeSpan입니다. 기본값은 10분입니다.

예외

설정 값이 0보다 작거나 같은 경우

예제

// Create a new reliable session object
ReliableSessionBindingElement bindingElement = new ReliableSessionBindingElement();
ReliableSession reliableSession = new ReliableSession(bindingElement);

// Now you can access property values
Console.WriteLine("Ordered: {0}", reliableSession.Ordered);
Console.WriteLine("InactivityTimeout: {0}", reliableSession.InactivityTimeout);
' Create a new reliable session object
Dim bindingElement As ReliableSessionBindingElement = New ReliableSessionBindingElement()
Dim reliableSession As ReliableSession = New ReliableSession(bindingElement)

' Now you can access property values
Console.WriteLine("Ordered: {0}", reliableSession.Ordered)
Console.WriteLine("InactivityTimeout: {0}", reliableSession.InactivityTimeout)

설명

속성은 속성 값을 InactivityTimeout 가져오고 설정합니다.

채널에서는 애플리케이션 또는 인프라 메시지를 받는 작업이 이루어집니다. 비활성 시간 제한 속성은 비활성 세션을 활성 상태로 유지하는 최대 시간을 제어합니다. 지정된 시간 간격이 InactivityTimeout 활동 없이 통과하는 경우 인프라 및 채널 오류로 인해 세션이 중단됩니다. 신뢰할 수 있는 세션은 일방적으로 삭제됩니다.

발신 애플리케이션에 보낼 메시지가 없는 경우에는 일반적으로 신뢰할 수 있는 세션에서 비활성화로 인한 오류가 발생하지 않습니다. 대신 연결 유지 메커니즘에 따라 세션이 무기한 활성 상태로 유지됩니다. 애플리케이션 메시지 발신이나 수신이 없는 경우 디스패처가 신뢰할 수 있는 세션을 독립적으로 중단할 수 있습니다. 따라서 일반적으로 비활성 시간 제한은 네트워크 조건이 어떤 종류의 메시지도 수신되지 않거나 보낸 사람에게 오류가 있는 경우 만료됩니다.

이 시간 제한을 설정하면 클라이언트가 닫지 않는 경우 서버가 보안 세션을 유지하지 못합니다. 보안 세션이 비활성 시간 간격에 대한 메시지를 받지 못한 경우 서버에서 닫힙니다. 이렇게 하면 잠재적 서비스 거부 공격이 완화됩니다.

신뢰할 수 있는 세션을 사용하는 경우 연결을 활성 상태로 유지하기 위해 충족해야 하는 두 가지 비활성 타이머가 있습니다. 이러한 비활성 타이머 중 하나가 꺼지면 연결이 삭제됩니다.

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

  • 두 번째 비활성 타이머는 서비스에 있으며 바인딩 설정을 ReceiveTimeout 사용합니다. 이 비활성 타이머는 시간 제한 동안 애플리케이션 메시지가 수신되지 않으면 발생합니다.

비활성 타이머가 발생하면 연결이 끊어지기 때문에 더 ReceiveTimeout 크면 증가 InactivityTimeout 해도 아무 효과가 없습니다. 이 두 시간 제한의 기본값은 10분이므로 신뢰할 수 있는 세션을 사용할 때 차이를 만들기 위해 항상 두 시간 제한을 늘려야 합니다.

적용 대상