I am writing a little test tool, which uses HttpWebRequest to load test a server. I want for each time I try to call HttpWebRequest.GetResponse() for it establish a fresh SSL se
I think you're looking for the HttpRequestCacheLevel Enumeration value NoCacheNoStore
http://msdn.microsoft.com/en-us/library/system.net.cache.httprequestcachelevel.aspx
You can then overwrite the HttpRequestCachePolicy
http://msdn.microsoft.com/en-us/library/system.net.webrequest.cachepolicy.aspx
The ServicePoint class has an internal method called ReleaseAllConnectionGroups that sets KeepAlive = false
on all the connections then releases them. This answer includes all the reflection needed, but setting KeepAlive = false
on every HttpWebRequest will keep the client-side .Net SSL session cache clear.
SslEmptyCache may be required to clear caching of SSL-SessionID and/or tickets done by SCHANNEL at the native-code level.