我必须在我的Global.asax的Application_PostAcquireRequestState方法中调用一些异步方法(这些方法来自库,并且这些操作没有等效的同步方法)。我想确保在继续我的页面处理之前完成此异步代码,因为一些安全参数是使用该异步调用的结果设置的。
在不造成死锁的情况下,这项工作的正确方法是什么?
由于
答案 0 :(得分:7)
例如,只需调用Result
方法返回的Task
的{{1}}属性。
*Async()
如果方法返回var result = BarAsync().Result;
而不是Task
,请使用Task<T>
:
Wait()