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