对Axis2 Web服务的第二次请求操作超时错误

时间:2012-12-10 07:54:25

标签: c# axis2

我在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也可以。

提前致谢

1 个答案:

答案 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