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 秒ごとに Web サービスに ping を送信して、情報を取得します。並行して、HttWebRequest を使用して、サーバーからいくつかのファイルを別々のスレッド (セグメントごとに 1 つのスレッド) のセグメントにダウンロードしています。

上記の両方を同時に開始すると、初めて Web サービス要求に対する応答が得られますが、2 回目からは、Web サービス メソッドへのアクセス中およびファイルのダウンロード中に、1 または 2 セグメントのタイムアウト例外が発生します。ダウンロードされ、その他の場合はタイムアウト例外がスローされます。

しかし、ping を使用せずにダウンロードのみを個別に実行すると、タイムアウト エラーは発生しません。Ping だけでも問題なく動作します。

前もって感謝します

4

1 に答える 1

0

このプロパティを設定することで解決しました: System.Net.ServicePointManager.DefaultConnectionLimit=100 で、デフォルト値は 2 です。

次のリンクを参照してください。

同時 HttpWebRequests の最大数

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

于 2012-12-12T03:37:19.030 に答える