1 回答

TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個(gè)贊
因此,根據(jù)對(duì)ConfigureAwait(false)
您的問題有幫助的事實(shí)判斷,請(qǐng)從 Stephen Cleary 的博客中閱讀這些內(nèi)容:http : //blog.stephencleary.com/2012/07/dont-block-on-async-code.html
這家伙幾乎是async
專家(他在 C# Cookbook 書中寫了并發(fā)),所以無(wú)論我能說(shuō)什么,他都可能解釋得更好?;旧夏銚踝×薃SP.NET線程的地方,也許不是用await
所有的方式,而是Wait
,Result
還是GetResult()
。您應(yīng)該能夠使用該博客自行診斷問題。
什么ConfigureAwait(false)
做的是它并沒有抓住當(dāng)前背景下,這樣的HTTP請(qǐng)求被執(zhí)行(正確的)其他地方比在ASP.NET背景下,防止死鎖。
編輯:
GetAwaiter().GetResult()
從您的評(píng)論來(lái)看,是什么導(dǎo)致了問題。如果您將其更改為await
和調(diào)用方法,async
您可能會(huì)解決所有問題。
由于 C# 7.0 和async Task Main()
方法支持,因此真的沒有理由await
在應(yīng)用程序代碼中阻塞而不是使用。
- 1 回答
- 0 關(guān)注
- 216 瀏覽
添加回答
舉報(bào)