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 ブロックのコードは、デフォルト値にリセットする正しい方法ですか?