1
我正在寫一個函數來對我的計算機本地託管的web服務執行查詢。它工作正常,但GetResponse方法花費的時間比我期望的要多。更具體地說,當我在瀏覽器上執行請求時,大約需要10毫秒,而GetResponse方法與300毫秒相差甚遠。WebRequest.GetResponse()花費太多時間
我在代碼上做錯了什麼?我可以改進嗎?
public static string CargarListaRutas()
{
WebRequest request = HttpWebRequest.Create("http://localhost:8080/services/rest/184108301/listaRutas/");
request.Timeout = 2000;
WebResponse response;
string responseFromServer;
try
{
using (response = request.GetResponse())
{
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
responseFromServer = reader.ReadToEnd();
}
}
catch
{
responseFromServer = String.Empty;
}
return responseFromServer;
}
您確定這不是因爲瀏覽器正在使用緩存版本嗎?您可以嘗試CTRL + F5來強制瀏覽器重新加載頁面,而不是使用緩存來測試時間。 – itsme86
如果itsme86的評論沒有幫助。這可能是由自動代理檢測造成的。嘗試設置request.Proxy = null。請參閱http://stackoverflow.com/a/3603413/442078 – Will
itsme86,你是對的。當我清理緩存時,請求大約需要300毫秒,就像我的應用程序一樣。感謝您的幫助。 – NicoRiff