HttpWebRequest非常慢

时间:2012-01-23 09:22:25

标签: c# asp.net

大家好我从另一个处理器文件请求处理程序文件,该文件返回一个图像,当我请求我的HttpWebRequest需要更多时间来获得响应时......这是我的代码,请帮忙。

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
 HttpCookie cookie = context.Request.Cookies["ASP.NET_SessionID"];
                        Cookie myCookie = new Cookie(cookie.Name, cookie.Value);
                        myCookie.Domain = url.Host;

                        request.CookieContainer = new CookieContainer();
                        request.CookieContainer.Add(myCookie);
                        request.Timeout = 200000;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
responseStream = response.GetResponseStream();

1 个答案:

答案 0 :(得分:0)

首先确保您的请求尽快到达处理程序。如果没有,则说明您的网络存在问题。您可以使用日志或调试或您需要的任何方式对此进行诊断。使用Fiddler重新发出请求,以便确切知道何时触发和接收请求。

如果它到达服务器并且没有花费太多时间的处理,那么确保在写完文件时刷新并关闭响应流。也可能最好处理responseStream对象。

using(var responseStream = response.GetResponseStream()){
   // write to the sucker

   responseStream.Flush();
   responseStream.Close();
}

注意如果这只是第一次请求(你的问题/答案有点令人困惑),那么试试看看appdomain启动时究竟发生了什么。 global.asax中有什么大的东西 - 或者它在做很多数据库工作?