首页 新闻 会员 周边 捐助

HttpClient异步问题

0
悬赏园豆:10 [已关闭问题] 关闭于 2016-06-29 14:06
        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);
            }
        }

我有这样一个客户端请求方法,为什么大多数时候其他人不会出现错误,但是有时候其他人使用却会出现一直等待相应(应该就是死锁)的问题。

上地之客的主页 上地之客 | 初学一级 | 园豆:184
提问于:2016-05-15 20:31
< >
分享
所有回答(2)
0

条件允许的话,打个短点 或者增加一些debug日志 看下卡在哪了。

大概率你是处理业务的地方有什么资源被占用了吧。

或许也可能跟数据库有关系,某个动作涉及到数据库操作,或者检索太慢或者要操作的数据一直被占用没有得到释放。

司幸 | 园豆:319 (菜鸟二级) | 2016-05-16 09:57
0

你可以这样试试,在var client = new HttpClient();前面加一句

System.Net.ServicePointManager.Expect100Continue = false;

Yu | 园豆:12990 (专家六级) | 2016-05-17 09:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册