下载网页时出现问题
Problems downloading web pages
在一个控制器(MVC ASP.NET)中,我需要下载一些网页,并分析它们。
目前我正在使用 Visual Studio 2019 和 .NET Framework 4.8。
我的代码是这样的(简化):
public async void GetHtmlStream(Uri urlAddr)
{
HttpClient client = new HttpClient();
using (HttpResponseMessage Resp = client.GetAsync(urlAddr).Result)
{
using (HttpContent content = Resp.Content)
{
Stream stream = await content.ReadAsStreamAsync().Result;
}
}
}
行Stream stream = await content.ReadAsStreamAsync().Result;
不编译:
“错误 CS1061 'Stream' 不包含 'GetAwaiter' 的定义 ...”
在测试程序中,避免异步和等待,我有这样一行:
string result = content.ReadAsStringAsync().Result;
一切正常。
在controller里面,当然是什么都没有了。
我看到了很多类似的问题,但我不明白我应该怎么做才能解决问题。
尝试
Stream stream = await content.ReadAsStreamAsync();
相反。
在一个控制器(MVC ASP.NET)中,我需要下载一些网页,并分析它们。 目前我正在使用 Visual Studio 2019 和 .NET Framework 4.8。
我的代码是这样的(简化):
public async void GetHtmlStream(Uri urlAddr)
{
HttpClient client = new HttpClient();
using (HttpResponseMessage Resp = client.GetAsync(urlAddr).Result)
{
using (HttpContent content = Resp.Content)
{
Stream stream = await content.ReadAsStreamAsync().Result;
}
}
}
行Stream stream = await content.ReadAsStreamAsync().Result;
不编译:
“错误 CS1061 'Stream' 不包含 'GetAwaiter' 的定义 ...”
在测试程序中,避免异步和等待,我有这样一行:
string result = content.ReadAsStringAsync().Result;
一切正常。
在controller里面,当然是什么都没有了。
我看到了很多类似的问题,但我不明白我应该怎么做才能解决问题。
尝试
Stream stream = await content.ReadAsStreamAsync();
相反。