我试图使用HtmlAgilityPack.NETCore获取网页将网页加载到程序中。问题在于调试直接从第一个Using语句跳出,因此根本不调用代码和第二个using。没有异常或其他东西被抛出。程序以退出代码0结尾。我在做什么错?我正在使用.net Core 2.2
HttpClient client = new HttpClient();
List<string> htmlContent = new List<string>();
using (var response = await client.GetAsync(URL))
{
using (var content = response.Content)
{
var result = await content.ReadAsStringAsync();
var document = new HtmlDocument();
document.LoadHtml(result);
foreach (HtmlNode node in document.DocumentNode.SelectNodes("//text()"))
{
htmlContent.Add(node.InnerText);
}
}
}
Run Code Online (Sandbox Code Playgroud)
程序以退出代码0结尾
初学时的两个规则async:
async void; 用async Task代替。await您的所有任务。因此,如果调用返回a的方法,请Task确保await对其进行处理。随着您的成长async,这两个规则都可能会有所改变。但是遵循上述规则将使学习 变得容易得多async。
因此,您发布的代码应该在async Task方法中。调用方法应该await是该任务,然后是async Task方法,依此类推。一直到Main,应该是async Task Main方法。请注意,这是C#7.1语言功能,因此,如果使用VS2017而不是VS2019创建此项目,则需要将语言版本设置为latest。
| 归档时间: |
|
| 查看次数: |
196 次 |
| 最近记录: |