2009-08-09 23 views
0

HttpWebRequest類似乎是一個相當沉重,功能加載。C#:Web請求(從URL獲取文本)的開銷最小?

我只需要(如快速和低開銷地)抓住從URL的響應,沒有任何其他花哨的功能。實現這一目標的開銷最低的最快方法是什麼?

謝謝!

+2

我不知道任何東西,將做到這在.net有效更好或更比一的WebRequest。 是否對您造成性能問題? – David 2009-08-09 22:43:58

+0

分析時,WebClient實例化是我整個(相當大)控制器代碼的60%。所以我想知道是否有更快的選擇,特別是因爲我只需要有限的功能。 – Alex 2009-08-09 22:45:53

+0

P.S.如果沒有,那也沒問題,至少我知道然後:) – Alex 2009-08-09 22:46:31

回答

0

你有沒有做過任何基準使用WebRequest的是不是你所需要的驗證,並且精確定位的WebRequest的具體特點,使得它如此? WebRequest向URI發出HTTP請求並獲取響應。 WebRequest類中的任何其他功能都可能存在,但如果您沒有真正使用它,則不會傷害到任何內容。你是否真的用盡了資源,WebRequest是罪魁禍首?

在迴應的意見,你說你正在使用Web客戶端 - 這是明顯比使用的WebRequest更充實。

+0

我只注意到了相當大的集中時間對實例的Web請求與控制器方法的代碼的其餘部分,並想知道如果我能在這裏做一些快速(過早)的優化與改變到另一個對象。我想這不是一種替代難題! – Alex 2009-08-09 22:50:49

1

你可以做

string url = "www.example.com"; 
IPAddress[] addresses = Dns.GetHostAddresses(url); 

來查找IP,然後使用一個TCP客戶端,以自己的最小化自定義HTTP請求發送到服務器,導致純基於流的響應。沒有什麼比這:)

BTW任何開銷較低;如果您不需要完整的響應,但只需檢查一些基本信息,請查看HTTP HEAD請求類型。 Wikipedia

+1

很有創意:)不,我確實需要實際的迴應內容。我想HttpWebRequest已經很好了,然後.. – Alex 2009-08-09 22:49:33