Condividi tramite


Pulizia lato server

Si immagini lo scenario seguente:

Un client apre un handle di contesto e quindi arresta o perde la connettività al server. In che modo il server rileva che il client non è riuscito e l'handle di contesto deve essere eseguito inattivo? Esistono due sottocenari: uno è che il client viene arrestato in modo ordinato. In questo caso, notifica al server che sta arrestando e il server può eseguire la pulizia, incluse le esecuzioni del contesto. Se il client non viene arrestato in modo ordinato o non può inviare una notifica al server, il server usa keep-alive per determinare se il client è ancora disponibile. Sul lato server, la funzione RpcMgmtSetComTimeout non ha alcun effetto. Il server usa invece l'impostazione globale per computer-keep-alive, che per impostazione predefinita è di circa due ore. Se il client non risponde ai keep-alive del server, la connessione viene chiusa. Quando tutte le connessioni a un determinato processo client vengono chiuse, il server esegue la pulizia e l'esecuzione di handle di contesto in sospeso.