Udostępnij za pośrednictwem


Oczyszczanie po stronie serwera

Wyobraź sobie następujący scenariusz:

Klient otwiera uchwyt kontekstu, a następnie zatrzymuje lub traci łączność z serwerem. W jaki sposób serwer wykrywa, że klient uległ awarii, a dojście kontekstowe powinno zostać uruchomione? Istnieją dwa podscenario: jeden jest taki, że klient jest zamykany w uporządkowany sposób. W takim przypadku powiadamia serwer, że jest on zamykany, a serwer może wyczyścić, w tym wykonywanie uruchamiania kontekstu w dół. Jeśli klient nie zostanie zamknięty w sposób uporządkowany lub nie może powiadomić serwera, serwer używa zachowania aktywności, aby określić, czy klient jest nadal dostępny. Po stronie serwera funkcja RpcMgmtSetComTimeout nie ma wpływu. Zamiast tego serwer używa globalnego ustawienia zachowaj żywość maszyny, które domyślnie wynosi około dwóch godzin. Jeśli klient nie odpowiada na stan aktywności serwera, połączenie zostanie zamknięte. Po zamknięciu wszystkich połączeń z danym procesem klienta serwer czyści i uruchamia zaległe dojścia kontekstu.