如何清除客户端.Net SSL会话缓存

如何清除客户端.Net SSL会话缓存,.net,caching,session,ssl,.net,Caching,Session,Ssl,我正在编写一个小测试工具,它使用HttpWebRequest来加载测试服务器。我想要 每次我尝试为它调用HttpWebRequest.GetResponse()时,都会建立一个新的SSL会话,而不是使用缓存中的会话。注意:我提供了一个客户端证书,并对SSL会话使用相互身份验证 有没有办法清除中提到的SSL会话缓存?我想您正在查找HttpRequestCacheLevel枚举值NoCacheNoStore 然后可以覆盖HttpRequestCachePolicy ServicePoint类有一个

我正在编写一个小测试工具,它使用HttpWebRequest来加载测试服务器。我想要 每次我尝试为它调用HttpWebRequest.GetResponse()时,都会建立一个新的SSL会话,而不是使用缓存中的会话。注意:我提供了一个客户端证书,并对SSL会话使用相互身份验证


有没有办法清除中提到的SSL会话缓存?

我想您正在查找HttpRequestCacheLevel枚举值NoCacheNoStore

然后可以覆盖HttpRequestCachePolicy


ServicePoint类有一个名为的内部方法,该方法在所有连接上设置
KeepAlive=false
,然后释放它们。包括所有需要的反射,但在每个HttpWebRequest上设置
KeepAlive=false
将保持客户端.Net SSL会话缓存的清除


可能需要清除SCHANNEL在本机代码级别执行的和/或票据。

但这是HTTP级别的缓存,不是吗?OP请求清除SSL会话缓存(它保留每个会话的临时密钥,加快初始SSL握手),AFAICT.Setting KeepAlive=false效果很好。尝试先设置HttpRequestCachePolicy,但没有效果。设置KeepAlive=false对我没有任何帮助。