簡體   English   中英

WebClient 查詢需要很長時間才能完成,為什么?

[英]WebClient query takes too long to complete, why?

這是我的 C# 代碼。

WebClient client = new WebClient();

while (true) {
   html = client.DownloadString("http://google.com");
   Console.WriteLine(string.Format("\tSize: {0}", html.Length));
}

獲得第一個結果大約需要 9 秒。 然后每個大約需要 3 秒。

當我使用 Java 執行此操作時,只需不到 1 秒。

為什么你認為 C# 這么慢? 我該如何改進它?

我注意到第一個請求使用 WebClient 或 WebRequest 總是需要很長時間......我使用我構建的 Socket-Http class 執行相同的請求,並且不需要時間。

但是在第一次請求之后,它應該 go 更快,很好。

找到解決問題的方法

嘗試顯式設置代理。 如果您沒有定義代理,HttpRequest class 將花時間搜索一個。 一旦找到(或未找到),它將在應用程序的整個生命周期中使用該信息,從而加快后續請求。

設置request.Proxy = null;

您的網絡可能有問題(如 Mark 評論)。

暫無
暫無

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

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