簡體   English   中英

機器特定的HttpWebResponse超時

[英]Machine-Specific HttpWebResponse Timeout

我有一個非常奇怪的機器特定問題。 在某些機器上,下面的代碼有效,在其他機器上,它凍結直到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();

我在工作的機器和失敗的機器之間找不到任何操作系統/配置模式。 這是一個與管理員用戶一起運行的控制台應用程序。

唯一需要注意的是,要訪問的URL是運行在使用自發SSL證書的測試服務器中的映像,因此需要使用上面代碼中顯示的ServerCertificateValidationCallback的變通方法。

我測試的其他URL正常運行。

誰能幫助我確定此問題和解決方法的可能原因?

和往常一樣,一旦弄清楚,它就非常簡單:不存在問題的計算機已安裝.Net Framework 4.5。

這很可能是由於4.5是4.0 的就地更新 ,並包含對核心庫的若干錯誤修正。

我在Win7和VS2010上遇到了相同的問題並且通過Windows Update解決了 - 更新到.NET 4.5.1
值得一提的另一件事是,它僅在特定的服務器中發生, 而不僅在特定的客戶端中發生。
(我會發表評論,但沒有足夠的評分)
沒有人解決此問題而不使用Windows Update嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM