小编use*_*030的帖子

多个线程设置ServicePointManager.ServerCertificateValidationCallback是否安全?

要忽略ssl证书错误,我ServicePointManager.ServerCertificateValidationCallback在创建之前设置静态方法HttpWebRequest.我只希望对内部请求执行此操作,因此我将该属性重置为finally块中的默认值.但是因为它是一个Web应用程序,当多个线程修改属性时会出现问题吗?

这是我如何使用该属性

public static String GetResource()
{
    try
    {        
        ServicePointManager.ServerCertificateValidationCallback += delegate { return true; };        
    }
    catch()
    {
    }
    finally
    {
        ServicePointManager.ServerCertificateValidationCallback -= delegate { return false; };
    }    
}
Run Code Online (Sandbox Code Playgroud)
  1. 这段代码是线程安全的吗?msdn上的文档说ServicePointManager类型的任何静态成员都是线程安全的,但我只想确认一下. http://msdn.microsoft.com/en-us/library/zkfa48de%28v=vs.80%29.aspx
  2. finally块中的代码是将它重置为默认值的正确方法吗?

c#

5
推荐指数
1
解决办法
1505
查看次数

标签 统计

c# ×1