c# - 如何在 .NET Core 中正确处理异步方法
问题描述
我希望检索网站响应并将点发送到屏幕,同时这样做。
我无法使用下面的代码这样做。我确定我在做一些相当愚蠢的事情,寻找任何见解..
Console.Write("Doing Task...");
HttpClient web = new HttpClient();
Task<HttpResponseMessage> resp = web.GetAsync("http://localhost",
HttpCompletionOption.ResponseContentRead);
resp.RunSynchronously(); //Doesn't Work
resp.Start(); //Doesn't Work
while (resp.Status != TaskStatus.RanToCompletion)
{
Write.Operation(".");
Thread.Sleep(500);
}
Console.Write("Done!");
解决方案
您可以像下面的示例一样使用 async/await 来捕获从 .NET Core 中的服务器返回的任何数据:
static async Task Main(string[] args)
{
using var httpClient = new HttpClient();
var result = await client.GetAsync("http://localhost");
Console.WriteLine(result.StatusCode);
}
推荐阅读
- ios - Xcode 和 SwiftUI - 如何重置画布?
- apache - 如何通过apache下载文件?
- python - Jupyter 上的雪花连接器
- python - 分类数据的线性回归
- reactjs - 无法让 Heroku App 运行,但我可以让它在本地运行
- azure - 如何在 Azure ADF 中进行行转换?
- rust - 为什么从
for U在 Rust 中意味着 Into for T? - android - 约束布局包装文本视图,但约束宽度太长而无法让其他视图可见
- ios - 如何使 UITextView 根据文本长度进行调整?
- python - 如何解决 Python 终端不解释 ANSI 转义序列的问题?