ReliableSession.InactivityTimeout Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia interwał czasu, przez który usługa może pozostać nieaktywna przed zamknięciem.
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
Wartość właściwości
Określa TimeSpan interwał czasu, przez który usługa pozostaje nieaktywna przed zamknięciem. Wartość domyślna to 10 minut.
Wyjątki
Zestaw wartości jest mniejszy lub równy zero.
Przykłady
// 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)
Uwagi
Właściwość pobiera i ustawia wartość InactivityTimeout właściwości.
Działanie w kanale jest definiowane jako odbieranie komunikatu aplikacji lub infrastruktury. Właściwość limitu czasu braku aktywności kontroluje maksymalny czas, aby zachować nieaktywną sesję. Jeśli więcej niż InactivityTimeout określony interwał czasu przechodzi bez działania, sesja zostanie przerwana przez infrastrukturę i błędy kanału. Niezawodna sesja jest zburzona jednostronnie.
Jeśli aplikacja wysyłająca nie ma komunikatów do wysłania, sesja niezawodna zwykle nie jest uszkodzona z powodu braku aktywności; zamiast tego mechanizm utrzymania aktywności utrzymuje sesję aktywną na czas nieokreślony. Należy pamiętać, że dyspozytor może niezależnie przerwać niezawodną sesję, jeśli żadne komunikaty aplikacji nie są wysyłane ani odbierane. W związku z tym limit czasu braku aktywności zwykle wygasa, jeśli warunki sieciowe są takie, że żadne komunikaty jakiegokolwiek rodzaju nie są odbierane lub występuje błąd nadawcy.
Ustawienie tego limitu czasu uniemożliwia serwerowi trzymanie się sesji zabezpieczeń, jeśli klient go nie zamknie. Jeśli sesja zabezpieczeń nie odebrała komunikatu dla interwału braku aktywności czasu, zostanie zamknięta przez serwer. Ogranicza to potencjalny atak typu "odmowa usługi".
W przypadku korzystania z niezawodnej sesji istnieją dwa różne czasomierze braku aktywności, które muszą być spełnione, aby utrzymać połączenie przy życiu. Jeśli któryś z tych czasomierzy braku aktywności zostanie wyłączony, połączenie zostanie porzucone.
Pierwszy czasomierz braku aktywności znajduje się w niezawodnej sesji i jest nazywany .InactivityTimeout Ten czasomierz braku aktywności jest uruchamiany, jeśli w okresie przekroczenia limitu czasu nie są odbierane żadne komunikaty, aplikacja lub infrastruktura. Komunikat infrastruktury jest komunikatem generowanym w celu jednego z protokołów w stosie kanału, takiego jak utrzymanie aktywności lub potwierdzenie, zamiast zawierać dane aplikacji.
Drugi czasomierz braku aktywności jest w usłudze i używa ReceiveTimeout ustawienia powiązania. Ten czasomierz braku aktywności jest uruchamiany, jeśli w okresie przekroczenia limitu czasu nie są odbierane żadne komunikaty aplikacji.
Ponieważ połączenie jest porzucane, jeśli zostanie wyzwolony czasomierz braku aktywności, zwiększa się InactivityTimeout , gdy jest on większy niż ReceiveTimeout nie ma żadnego wpływu. Wartość domyślna dla obu tych limitów czasu to 10 minut, dlatego zawsze trzeba zwiększyć oba te limity, aby dokonać różnicy podczas korzystania z niezawodnej sesji.