作一个客户端的测试小程序测试web service的并发处理。开始用async task作,无论建立多少个task,用netstat看同时只有两个tcp链接。觉得是async task的问题,改用BackgroundWorker和多线程都是一样的问题,经google得知原来是.NET默认一个客户端对同一个服务器地址同时只能创建2个TCP链接。在app.config里增长下面一段解决问题(无论用async task,BackgroundWorker仍是多线程都同样):web
<system.net> <connectionManagement> <add address="*" maxconnection="20" /> </connectionManagement> </system.net>