HttpClient.PostAsync假死

方案1: var response = await client.PostAsync(path, content); 
方案2: var response = client.PostAsync(path, content).Result;

开发中采用HttpClient.PostAsync来执行post请求,在某些情况下采用方案1时会导致死锁,PostAsync卡死不返回,设置超时时间也不起作用

解决方法是采用方案2,具体原因可能是async和await具有感染性。 底层用了,上层也要用,不然容易出现假死。

async和await具有感染性的问题需要查找相关资料。

参考:

https://bbs.csdn.net/topics/392201438

https://www.cnblogs.com/wuhailong/p/15002709.html




posted @ 2022-04-27 19:38  六镇2012  阅读(1870)  评论(0编辑  收藏  举报