Condividi tramite


Pulizia connessione inattiva

Per impostazione predefinita, le connessioni nel pool di thread non vengono chiuse finché l'intera associazione non viene arrestata. Questo criterio consente ai client con un numero elevato di thread o identità di sicurezza di effettuare chiamate RPC al server in modo efficiente. Lo svantaggio è che una quantità eccessiva di risorse può essere impegnata a mantenere tali connessioni. Per gestire il processo, RPC fornisce la funzione RpcMgmtEnableIdleCleanup . Questa funzione abilita la pulizia della connessione inattiva; il client analizza periodicamente il pool di connessioni e chiude le connessioni che non sono state usate di recente. Se l'associazione ha gestito handle di contesto, la pulizia della connessione inattiva chiude tutte le connessioni inattive, ma verifica che almeno una connessione venga lasciata aperta, anche se la connessione è inattiva (in caso contrario, il server ottiene i run down del contesto). Se l'associazione non ha gestito handle di contesto, la pulizia della connessione inattiva chiude tutte le connessioni inattive, anche se questa operazione non lascia connessioni nel pool.

In Windows XP, il tempo di esecuzione RPC tiene traccia del numero di connessioni aperte in un'associazione e attiva automaticamente la pulizia della connessione inattiva se il numero di connessioni in qualsiasi associazione supera una determinata soglia.