非常に奇妙なマシン固有の問題があります。一部のマシンでは、以下のコードが機能しますが、他のマシンでは、GetResponse()呼び出しによってタイムアウト例外がスローされるまでフリーズします。
string url = "https://myserver/myimage.png";
System.Net.ServicePointManager.ServerCertificateValidationCallback = ((sender, certificate, chain, sslPolicyErrors) =>
{
return true;
});
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);
req.Method = "GET";
req.AllowAutoRedirect = false;
try
{
using (HttpWebResponse resp = (HttpWebResponse)req.GetResponse())
{
Console.WriteLine("Success");
}
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.ToString());
}
Console.ReadKey();
動作しているマシンと故障しているマシンの間にOS/構成パターンが見つかりません。これは、管理者ユーザーで実行されるコンソールアプリケーションです。
これに関する唯一の特別なことは、アクセスされているURLが、自己発行のSSL証明書を使用しているテストサーバーに実行されているイメージであるため、上記のコードに表示されているServerCertificateValidationCallbackを使用した回避策が必要でした。
私がテストした他のURLは正しく機能しました。
誰かがこの問題の考えられる原因と回避策を特定するのを手伝ってもらえますか?