Http Get Request GetResponse错误

abi*_*kay 5 c# get webresponse request windows-store

我试图发送一个获取请求并获取网页的内容.我有这些代码.

string url = "www.google.com";

 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
 HttpWebResponse response = (HttpWebResponse)response.GetResponse();
Run Code Online (Sandbox Code Playgroud)

我从许多网站找到了这些代码并且它是正确的,但"GetResponse"给出了错误.其解释如下.

这是Visual Studio 2012的问题吗?它无法找到GetResponse方法,只是GetResponseStream在我按G时找到方法.

我试图用WebClient类做到这一点,但也找不到WebClient.是否因Visual Studio 2012而出现这些问题?或任何原因?

错误1'System.Net.HttpWebResponse'不包含'GetResponse'的定义,并且没有可以找到接受类型'System.Net.HttpWebResponse'的第一个参数的扩展方法'GetResponse'(你是否缺少using指令或者汇编参考?)C:\ Users\abidinberkay1\documents\visual studio 2012\Projects\App1\App1\BlankPage1.xaml.cs 45 66 App1

Rob*_*Rob 4

您正在调用“response.GetResponse()”。这是请求.GetResponse()。

更新:根据您的评论,我将提出一些新代码:

private async void btnRequest_Click(object sender, EventArgs e)  // Note: async added
{
    string url = "www.google.com";
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
    HttpWebResponse response = (HttpWebResponse) await request.GetResponseAsync(); // (note: await added, method call changed to GetResponseAsync()

}
Run Code Online (Sandbox Code Playgroud)

我已更新您的代码以使用 C# 5.0 异步和等待模式。这使您可以轻松地使用异步方法,同时编写感觉同步的代码。为此,我在返回类型(本例中为 void)之前将async关键字添加到方法声明中,并在调用WebRequest.GetResponseAsync()之前添加了await关键字。

要回答有关如何知道您正在使用哪个库的问题:在本例中,您选择了 Windows 应用商店应用程序。您应该特别指出您正在从事的项目类型 - 这将帮助我们更快地确定此类事情。