C# GetResponse未使用HttpWebRequest返回

C# GetResponse未使用HttpWebRequest返回,c#,asp.net,.net,C#,Asp.net,.net,使用form contenttype,我被这一行卡住了: var webresponse = (HttpWebResponse)webrequest.GetResponse(); 对于url,可以使用任何值。以下是完整的代码: public bool test() { string url = "https://www.google.com"; // Create a new HTTP request object, set the method to POST and

使用form contenttype,我被这一行卡住了:

var webresponse = (HttpWebResponse)webrequest.GetResponse();
对于url,可以使用任何值。以下是完整的代码:

public bool test() 
{

    string url = "https://www.google.com";

    // Create a new HTTP request object, set the method to POST and write the POST data to it
    var webrequest = (HttpWebRequest)WebRequest.CreateHttp(url);
    webrequest.Method = "POST";
    webrequest.ContentType = "application/x-www-form-urlencoded";

    using (Stream postStream = webrequest.GetRequestStream())
    {
        //
    }

    // Make the request, get a response and pull the data out of the response stream
    var webresponse = (HttpWebResponse)webrequest.GetResponse();
    Stream responseStream = webresponse.GetResponseStream();
    var reader = new StreamReader(responseStream);

    string result = reader.ReadToEnd();

    // Normal Completion
    return true;
}
有人知道为什么它会卡在这条线上而不回来(当您进行调试时):


谢谢

我发现了问题!我将该方法作为异步任务调用:

private async Task starttest()
{
    clsTester objTester = new clsTester();
    objTester.test();
}

我删除了所有代码并将其更改为工作线程:

private Thread workerThread = null;
private void starttest()
{
    clsTester objTester = new clsTester();
    objTester.test();
}
然后称之为:


现在一切正常。

您是否尝试过先关闭流?根据.net文档,在完成关闭之前,您不需要调用close:我无法重现此问题。我的猜测是,运行此代码的环境无法到达端点。要检查此情况,请以应用程序域服务帐户登录到服务器,打开浏览器,然后查看是否可以手动点击端点。
var result = Task.Run(async () => await starttest());
private Thread workerThread = null;
private void starttest()
{
    clsTester objTester = new clsTester();
    objTester.test();
}
// Initialise and start worker thread
this.workerThread = new Thread(new ThreadStart(this.starttest));
this.workerThread.Start();