大家好我从另一个处理器文件请求处理程序文件,该文件返回一个图像,当我请求我的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();
答案 0 :(得分:0)
首先确保您的请求尽快到达处理程序。如果没有,则说明您的网络存在问题。您可以使用日志或调试或您需要的任何方式对此进行诊断。使用Fiddler重新发出请求,以便确切知道何时触发和接收请求。
如果它到达服务器并且没有花费太多时间的处理,那么确保在写完文件时刷新并关闭响应流。也可能最好处理responseStream对象。
using(var responseStream = response.GetResponseStream()){
// write to the sucker
responseStream.Flush();
responseStream.Close();
}
注意如果这只是第一次请求(你的问题/答案有点令人困惑),那么试试看看appdomain启动时究竟发生了什么。 global.asax中有什么大的东西 - 或者它在做很多数据库工作?