我在Web逻辑服务器中部署了Axis2 Web服务。我的应用程序使用WCF(CustomBinding,ChannelFActory和WSDL。)建立与Web服务的连接。
MyBinding mybinding= new MyBinding();
Binding binding = mybinding.GetCustomBinding();
binding.SendTimeout = new TimeSpan(0, 5, 0);
EndpointAddress serviceAddress = new EndpointAddress(url);
myChannelFactory = new ChannelFactory<MyServicePortType>(binding, serviceAddress);
我的C#.net应用程序每10秒在一个线程中ping一次Web服务以获取一些信息。同时,我正在使用HttWebRequest从服务器中以单独的线程(每个段一个线程)下载一些文件。
当我同时启动上述两个时,我第一次得到Web服务请求的响应,但是从第二次访问Web服务方法和文件下载时我得到超时异常,1或者下载2个段,而其他段则抛出超时异常。
但是当我在没有ping的情况下单独运行下载时,我没有收到任何超时错误。单独Ping也可以。
提前致谢
答案 0 :(得分:0)
通过设置此属性解决了它:System.Net.ServicePointManager.DefaultConnectionLimit = 100,其默认值为2.
请参阅以下链接:
Max number of concurrent HttpWebRequests
http://www.neowin.net/forum/topic/874834-c%23-webrequest-limiting-concurrent-connections