.net - 如何清除客户端 .Net SSL session 缓存

标签 .net caching session ssl

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

有没有办法清除 http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.clientcertificates.aspx 中提到的 SSL session 缓存? ?

最佳答案

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

SslEmptyCache可能需要清除 caching of SSL-SessionID和/或由 SCHANNEL 在 native 代码级别完成的票证。

关于.net - 如何清除客户端 .Net SSL session 缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5250887/

相关文章:

c# - 到 "new"或不到 "new"

php - Memcache city lookup table 与否

java - 分布式缓存

django:是否可以将用户从另一个域登录到子域?

java - Spring 服务器/客户端 session 和 Hibernate session

.net - 为什么 IIS 7 不返回 JSON 错误?适用于*我的*机器

c# - 查询本地组

c# - 如何创建以点为前缀的 cookie uri?

javascript - 停止在 Angular.js 中缓存 View

javascript - mvc session 过期后,如何使整个页面重定向到登录?