为了忽略 ssl 证书错误,我ServicePointManager.ServerCertificateValidationCallback
在制作HttpWebRequest
. 我只希望对内部请求执行此操作,因此我将属性重置为其finally
块中的默认值。但是因为是web应用,多线程修改属性会不会有问题?
这是我使用该属性的方式
public static String GetResource()
{
try
{
ServicePointManager.ServerCertificateValidationCallback += delegate { return true; };
}
catch()
{
}
finally
{
ServicePointManager.ServerCertificateValidationCallback -= delegate { return false; };
}
}
- 这段代码是线程安全的吗?msdn 上的文档说 ServicePointManager 类型的任何静态成员都是线程安全的,但我只是想确认一下。 http://msdn.microsoft.com/en-us/library/zkfa48de%28v=vs.80%29.aspx
- finally 块中的代码,这是将其重置为默认值的正确方法吗?