+
 新版
2017-09-30 16:17
个人认为这文章有一定的误导性,将文档缺陷(v110里面说线程安全,实际是不安全的,新文档中做了更正。HttpClient的Dispose行为没有描述的足够清楚)上升到了代码缺陷。
解释一下:
首先,套接字占用显然是TCP协议里规定的结束等待时间 TIME_WAIT状态,等待时间约为1~4分钟。其次,本人实际测试了一下,真正的问题是出现在Dispose而不是实例化HttpClient,使用静态的HttpClient进行多次请求后进行Dispose依然会造成多个Socket进入TIME_WAIT状态,其中using块结束时会Dispose。实例化和静态并没有解决问题,实际的问题是有没有Dispose。
综上,【你正在错误地使用HttpClient,它会破坏软件的稳定性】 文章中描述的是正确的,HttpClient被用错了(文档问题,或自以为是,当然你也可以怪HttpClient)。但是本文所描述的显然是有点在泄愤,将部分本不该是HttpClient的锅描述的像是它的。
2016-10-08 08:56
看来我用全局静态的httpclient 还是更接近作者原思路
2016-09-13 17:29
之前在线程内使用HttpClient时,老是莫名的异常,就放弃使用了。。。
2016-09-12 16:25
幸好我一般都把HttpClient单例化了
2016-09-12 15:30
哈哈,一不小心就避开了这个bug,我都是自己创建和管理请求与响应,没有用这个组件。不过主要是感觉他有点“重”了,所以没用,没想到逃过一劫,嘿嘿。
至于这个bug该不该用一篇文章来骂?是这样的,如果一个小学生满作文都是错别字,只需要一句话讲讲就可以了。
但是一个知名作家,一个公认的汉字学者,居然写了错别字到自己的著作里,而且还堂而皇之的公开发表。
——这种情况的确不该用一篇文章骂,而是应该用一本书来骂:从微软现在的运营到管理到技术路线,翻个底朝天,看看最归根揭底的问题在哪里!
2016-09-12 14:56
没事的时候,就有很多人喷,现在出了问题了,你们就趁这个机会好好的放纵一下吧
2016-09-12 12:40
。。。。。
2016-09-12 11:41
最近遇到rpc跟线程的坑了。
好处是之前只是使用rpc,使用线程,现在理解更深了点
2016-09-12 11:04
老实说,很少用这货,而且替代的方案也多
2016-09-12 10:02
@eechen 还有30S到达战场
2016-09-12 09:58
还是用HttpWebRequest吧
2016-09-12 09:25
微软好大坑
2016-09-12 09:09
我去!一直没有意识到这个!不过真的影响很大吗?
2016-09-12 08:57
微软的程序员现在到底什么水平,一个 httpclient 都写不好吗,给我 50 K,我可以考虑贡献一个
2016-09-12 08:38
一个bug而言,居然能写那么长的文章来黑,要不看看flash一年修复多少个bug?看看PHP7发布至今修复了多少个bug?
2016-09-12 08:36
不错
2016-09-12 08:24
@eechen 即将来喷
回复 @
{{emojiItem.symbol}}
返回顶部
顶部