好的,我使用HttpClient
调用了一个公共API
using (var httpClient = new HttpClient()) {
var response = await httpClient.GetAsync(uri);
}
一旦操作到达GetAsync()
行,应用程序就会关闭,没有任何异常,无论是在调用堆栈中还是在我为捕获未处理的应用程序域异常而设置的事件回调中。我已经知道这可能是因为await
观察正在执行的任务并抑制任何异常,但是如果我删除await
关键字,操作就可以正常运行!这里会有什么问题呢?
发布于 2014-06-22 00:27:59
您可能会在不等待/等待该操作完成的情况下启动该操作。因此,异步操作被触发,但应用程序继续运行,并在操作本身有机会完成之前结束。
简单地await
根调用(或者在任务上使用Wait
,如果您不能在该上下文中使用await
)。
https://stackoverflow.com/questions/24343523
复制相似问题