public bool Post(int userId, decimal pay) { var value = new { userId = userId, pay = pay }; var client = new HttpClient(); var responseMessage = client.PostAsJsonAsync("SystemDonate/DonateOnce", value).Result; if (responseMessage.StatusCode == System.Net.HttpStatusCode.OK) { return responseMessage.Content.ReadAsAsync<bool>().Result; } else { var result = responseMessage.Content.ReadAsStringAsync().Result; throw new Exception(result); } }
我有这样一个客户端请求方法,为什么大多数时候其他人不会出现错误,但是有时候其他人使用却会出现一直等待相应(应该就是死锁)的问题。
条件允许的话,打个短点 或者增加一些debug日志 看下卡在哪了。
大概率你是处理业务的地方有什么资源被占用了吧。
或许也可能跟数据库有关系,某个动作涉及到数据库操作,或者检索太慢或者要操作的数据一直被占用没有得到释放。
你可以这样试试,在var client = new HttpClient();前面加一句
System.Net.ServicePointManager.Expect100Continue = false;