作一個客戶端的測試小程序測試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>