0

我在 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 也可以正常工作。

提前致谢

4

1 回答 1

0

通过设置此属性解决了它:System.Net.ServicePointManager.DefaultConnectionLimit=100,其默认值为 2。

请参阅以下链接:

最大并发 HttpWebRequest 数

http://www.neowin.net/forum/topic/874834-c%23-webrequest-limiting-concurrent-connections

于 2012-12-12T03:37:19.030 回答