空闲连接清理

默认情况下,在关闭整个关联之前,不会关闭线程池中的连接。 此策略使具有大量线程或安全标识的客户端能够以高效的方式对服务器进行 RPC 调用。 缺点是可能会投入大量资源来维护这些连接。 为了管理进程,RPC 提供 RpcMgmtEnableIdleCleanup 函数。 此函数启用空闲连接清理;客户端定期扫描连接池并关闭最近未使用的连接。 如果关联维护了上下文句柄,则空闲连接清理会关闭所有空闲连接,但确保至少一个连接保持打开状态,即使连接处于空闲状态 (否则服务器会) 上下文句柄运行中断。 如果关联未维护上下文句柄,则空闲连接清理会关闭所有空闲连接,即使这样做不会在池中留下任何连接。

在 Windows XP 上,RPC 运行时跟踪关联中打开的连接数,如果任何关联中的连接数超过特定阈值,则会自动启用空闲连接清理。