1
내 컴퓨터에서 로컬로 호스팅되는 웹 서비스에 쿼리를 수행하는 함수를 작성하고 있습니다. 그것은 잘 작동하지만 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을 참조하십시오. 캐시를 정리할 때 요청은 애플리케이션과 마찬가지로 약 300ms가 걸립니다. 도와 줘서 고마워. – NicoRiff