好的,所以我使用HttpClient
using (var httpClient = new HttpClient()) {
var response = await httpClient.GetAsync(uri);
}
一旦操作到达GetAsync()
行,应用程序就会立即关闭,无论是在调用堆栈中还是在事件回调中我都设置为捕获未处理的应用程序域异常。我已经发现它可能是因为await
会观察执行任务并抑制任何异常,但是如果我删除await
关键字,则操作运行正常!这可能是什么问题?
答案 0 :(得分:3)
您可能在不等待/等待该操作完成的情况下触发该操作。因此异步操作被触发,但应用程序在操作本身有机会完成之前继续和结束。
如果您无法在该上下文中使用await
,只需Wait
根调用(或在任务上使用await
。