Limpeza do lado do servidor
Imagine o seguinte cenário:
Um cliente abre um identificador de contexto e, em seguida, interrompe ou perde a conectividade com o servidor. Como o servidor detecta que o cliente falhou e o identificador de contexto deve ser executado? Há dois subscenários: um deles é que o cliente é desligado de maneira ordenada. Nesse caso, ele notifica o servidor de que está sendo desligado e o servidor pode limpo para cima, incluindo a execução de run downs de contexto. Se o cliente não for desligado de maneira ordenada ou não puder notificar o servidor, o servidor usará keep alives para determinar se o cliente ainda está disponível. No lado do servidor, a função RpcMgmtSetComTimeout não tem efeito. Em vez disso, o servidor usa a configuração global por computador – keep alive, que usa como padrão aproximadamente duas horas. Se o cliente não responder ao keep alives do servidor, a conexão será fechada. Quando todas as conexões com um determinado processo de cliente são fechadas, o servidor limpa e executa os identificadores de contexto pendentes.