我正在尝试验证HttpWebRequest
。我的代码就像这样
string url = "http://mydomain.com";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
HttpCookie cookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName];
req.Headers[HttpRequestHeader.Cookie] = string.Format("{0}={1}", cookie.Name, cookie.Value);
WebResponse res = req.GetResponse();
一切顺利,直到最后一行执行( WebResponse res = req.GetResponse(); )。当最后一行执行时,代码执行返回到第一行( string url =“string url =“http://mydomain.com”;“; )并重新开始,这种情况发生了很多次,超时异常发生。
答案 0 :(得分:2)
首先 - 不清楚为什么url的定义如下:
string url = "HttpContext.Current.Request.Url.AbsoluteUri";
这不是有效的网址。但如果你有
string url = HttpContext.Current.Request.Url.AbsoluteUri;
您正在向您所在的同一页面发出请求。所以基本上,您只需生成一个循环。您从浏览器调用您的页面,它使用webrequest调用自己,并再次调用自己。因此在VS调试器中会显示它回到第一行 尝试简单地更改网址定义,如下所示:
string url = "http://wwww.google.com";
如果你这样做,它应该可以正常工作。基本上,据我所知,你只是使用错误的URL创建类似循环的东西(甚至更好地说:长链调用)
答案 1 :(得分:0)
尝试从HttpContext
行中取出引号:
string url = HttpContext.Current.Request.Url.AbsoluteUri;
您要求提供文字URI地址“HttpContext.Current.Request.Url.AbsoluteUri”,而不是变量HttpContext.Current.Request.Url.AbsoluteUri
中包含的实际绝对URI“http://domain.com/”。