Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# HttpWebResponse引发超时异常_C#_Asp.net_Httpwebrequest_Forms Authentication - Fatal编程技术网

C# HttpWebResponse引发超时异常

C# HttpWebResponse引发超时异常,c#,asp.net,httpwebrequest,forms-authentication,C#,Asp.net,Httpwebrequest,Forms Authentication,我正在尝试验证一个HttpWebRequest。我的代码是这样的 string url = "http://mydomain.com"; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); HttpCookie cookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName]; req.Headers[H

我正在尝试验证一个
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“;”;)然后重新开始,这种情况发生的次数太多,导致出现超时异常。

请尝试从
HttpContext
行中删除引号:

string url = HttpContext.Current.Request.Url.AbsoluteUri;

您要求的是文本URI地址“HttpContext.Current.Request.Url.AbsoluteUri”,而不是实际的绝对URI”http://domain.com/“首先,它包含在变量
HttpContext.Current.Request.Url.AbsoluteUri

中-不清楚为什么Url会这样定义:

string url = "HttpContext.Current.Request.Url.AbsoluteUri";
这不是有效的URL。但是如果你有

string url = HttpContext.Current.Request.Url.AbsoluteUri;
而不是生成对所处页面的请求。所以基本上,你只需要产生一个循环。您从浏览器调用页面,它使用webrequest调用自己,然后再次调用自己。因此,在VS调试器中,它会像回到第一行一样显示您。
尝试更改url定义,如下所示:

string url = "http://wwww.google.com";

如果你愿意这样做,它应该会很好。基本上,据我所知,您只是使用了错误的URL,这会创建一个循环(或者更好地说:长调用链)

“HttpContext.Current.Request.URL.AbsoluteUri”看起来不像URL:)@VladL:我粘贴它时出错了。感谢您指出这一点,您能给我们适当的域以便我们测试它吗?或者可能还有另一个公共域,您可以重现此问题?谢谢您的回复。我已经按照您所说的更改了url,但仍然会引发错误(System.Net.WebException:请求被中止:请求被取消。在System.Net.HttpWebRequest.GetResponse())您使用了什么url?如果谷歌-他们的服务器可能是这样配置的-抛出非浏览器请求。啊。不,我使用了我自己的域。在VS中,我发现“尝试了太多的自动重定向”。在我的尝试中,尝试使用谷歌而不是你自己的域。只是为了检查它是否有效。关于重定向-这是一个关于您试图加载的url的问题。就我所见,重定向号码默认设置为50,所以应该有一些条件强制无休止地重定向到您的请求。此外,为什么您需要以这种方式调用您自己的应用程序?我已尝试更改URL,但仍然无法获得“尝试了太多自动重定向”。我的try catch中出现了此错误