【问题标题】:Process ends without exception during asynchronous operation异步操作期间进程无异常结束
【发布时间】:2014-08-12 04:06:15
【问题描述】:

好的,所以我使用 HttpClient 对公共 API 进行了这个小调用:

using (var httpClient = new HttpClient()) {
    var response = await httpClient.GetAsync(uri);
}

一旦操作到达GetAsync() 行,应用程序就会无任何异常地关闭,无论是在调用堆栈中还是在我为捕获未处理的应用程序域异常而设置的事件回调中。我已经发现这可能是因为await 观察执行任务并抑制任何异常,但是如果我删除await 关键字,操作运行正常!这可能是什么问题?

【问题讨论】:

  • 你如何运行这个应用程序?你能显示调用这个方法的代码吗?

标签: c# .net json asp.net-web-api async-await


【解决方案1】:

您可能会触发该操作而无需等待/等待该操作完成。因此触发了异步操作,但应用程序在操作本身有机会完成之前继续并结束。

只需 await 根调用(如果您不能在该上下文中使用 await,则在任务上使用 Wait)。

【讨论】:

    猜你喜欢
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-10
    • 2016-12-20
    • 2023-03-16
    • 2019-09-14
    相关资源
    最近更新 更多