Global.asax中的异步方法

本文关键字:异步方法 asax Global | 更新日期: 2023-09-27 18:00:37

我必须在Global.asax的Application_PostAcquireRequestState方法中调用一些异步方法(这些方法来自库,这些操作没有等效的同步方法)。在继续页面处理之前,我想确保这个异步代码完成,因为一些安全参数是用异步调用的结果设置的。

在不产生死锁的情况下,什么是使这项工作正常进行的正确方法?

感谢

Global.asax中的异步方法

例如,只需调用*Async()方法返回的TaskResult属性。

var result = BarAsync().Result;

如果方法返回Task而不是Task<T>,则使用Wait():

BarAsync().Wait();