Asp.net HttpWebRequest.GetResponse()在.NET3.5上挂起,但在.NET4上工作

Asp.net HttpWebRequest.GetResponse()在.NET3.5上挂起,但在.NET4上工作,asp.net,asp.net-4.0,asp.net-3.5,Asp.net,Asp.net 4.0,Asp.net 3.5,当我尝试在.NET3.5上运行它时,以下代码挂起(当我将项目设置为.NET4时,它工作) (我等了大约2分钟——好像要结冰了) 这是GetNewRequest函数: private HttpWebRequest GetNewRequest(string host, string targetUrl, CookieContainer a_oCookieJar) { HttpWebRequest l_oRequest = (HttpWebRequest)HttpWeb

当我尝试在.NET3.5上运行它时,以下代码挂起(当我将项目设置为.NET4时,它工作)

(我等了大约2分钟——好像要结冰了)

这是GetNewRequest函数:

    private HttpWebRequest GetNewRequest(string host, string targetUrl, CookieContainer a_oCookieJar)
    {
        HttpWebRequest l_oRequest = (HttpWebRequest)HttpWebRequest.Create(host + targetUrl);
        l_oRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2";
        l_oRequest.ContentType = "application/x-www-form-urlencoded";
        l_oRequest.AllowAutoRedirect = false;
        l_oRequest.CookieContainer = a_oCookieJar;

        return l_oRequest;
    }

我在文档中找不到3.5和4之间的任何更改。有人遇到过这样的问题吗?

尝试使用以下链接中给出的代码,它使用Stream类获取httpwebrequest的RESTE数据:


我遇到了同样的问题,我使用HttpWebRequest调用了一个RESTful服务,我的代码在.Net 4+中运行良好,并挂在.Net 3.5、3.0中的GetResponse()行上。2.0. 我最终尝试了本文中的示例代码:


并且在所有版本的.Net中都能正常工作。我猜我没有设置正确的内容或关闭资源,但是对于点击本文的其他人,请尝试一下这篇文章。

谢谢您的回答。该链接讨论了HttpWebResponse.GetResponseStream,但我的应用程序挂起了使用GetResponse获取响应的程序-这是使用GetResponseStream所必需的您的
l_sHost
格式不正确-“*https://*website.com”应该是“*https://*website.com”。不确定这是否在你的代码中,或者只是你的问题中的一个输入错误。你可能做的不同的事情是关闭请求流。我刚刚遇到了同样的问题,并使用了您指向该示例的链接来查看。net 4必须在调用Write()时自动关闭流
    private HttpWebRequest GetNewRequest(string host, string targetUrl, CookieContainer a_oCookieJar)
    {
        HttpWebRequest l_oRequest = (HttpWebRequest)HttpWebRequest.Create(host + targetUrl);
        l_oRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2";
        l_oRequest.ContentType = "application/x-www-form-urlencoded";
        l_oRequest.AllowAutoRedirect = false;
        l_oRequest.CookieContainer = a_oCookieJar;

        return l_oRequest;
    }