2010-08-15 66 views
0

我正在從某些文本的web服務器的請求,並使用下面的代碼在一個文本框顯示它:爲什麼我的VB.Net WebClient.DownloadString請求需要這麼久?

Dim client As WebClient = New WebClient() 
    Dim theText As String = client.DownloadString("http://192.168.1.110/text.html") 
    Me.TextBox1.Text = theText 

當我運行它的「client.DownloadString」命令接受6或7秒內完成(獲取大約20個字節的文本)。如果我在網絡瀏覽器中提出這個相同的請求,它基本上是立即的。我在其他網站上閱讀了一些相關的帖子,但是代理成員(client.Proxy)需要爲空。鑑於VB.Net不支持空我把它設置爲「沒有」,但沒有改變性能。任何想法,爲什麼這是緩慢的?

更新...是的,請求成功。它只需要6或7秒。第一次打電話時,速度很慢。如果我刪除文本框的內容並再次運行它,它是立即的。我對此進行了一些研究,發現它與設置從IE瀏覽器設置讀取的默認代理(client.Proxy)有關。再次,我已經看到這個問題在其他帖子解決,但從來沒有在VB.Net和解決方案總是設置client.Proxy =空。但是,VB.Net不支持NULL。我試圖將其設置爲「無」,但似乎沒有幫助。

+0

並請求成功嗎?這可能是服務器端問題嗎? – 2010-08-15 03:11:11

+0

是否有可能使用wireshark獲取數據包跟蹤?如果你能做到這一點,你可以找出延遲是在線還是在.NET層。 – Gangadhar 2010-08-15 03:49:55

回答

2

我曾與URL請求長延遲同樣的問題,但作爲編碼爲我的工作如下:

 objwebClient = New WebClient() 
     objwebClient.Proxy = Nothing 
相關問題