[解決済み] WebClientの2つの接続制限をプログラムで解除するには?
質問
これらの "fine" RFC は、すべての RFC クライアントに対して、1 ホストあたり 2 つ以上の接続を使用しないように注意するよう義務付けていますが...。
Microsoft は WebClient でこれを実装しました。私は、この機能を
App.config でオフにできます。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.net>
<connectionManagement>
<add address="*" maxconnection="100" />
</connectionManagement>
</system.net>
</configuration>
しかし、プログラム的にどうすればいいのでしょうか?
によると http://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.defaultconnectionlimit.aspx
DefaultConnectionLimitプロパティを変更しても、既存のServicePointオブジェクトには影響がありません。 変更後に初期化されたServicePointオブジェクトにのみ影響します。 のみに影響します。このプロパティの値が直接または設定によって設定されていない場合 このプロパティの値が直接または構成によって設定されていない場合、その値はデフォルトで 定数 DefaultPersistentConnectionLimit." になります。
WebClient をインスタンス化するときに制限を設定するのがベストですが、私のプログラムの開始時にこの悲しい制限をプログラムで削除するだけでも問題ないでしょう。
私がアクセスするサーバーは、インターネット上の通常の Web サーバーではなく、私の制御下にあるローカル LAN にあるものです。私は API 呼び出しを行いたいのですが、Web サービスまたはリモーティングを使用しません。
どのように解決するのですか?
ここや他の場所からのいくつかのヒントで、私は使用していたWebClientクラスをオーバーライドすることによって、私のアプリケーションでこれを修正することに成功しました。
class AwesomeWebClient : WebClient {
protected override WebRequest GetWebRequest(Uri address) {
HttpWebRequest req = (HttpWebRequest)base.GetWebRequest(address);
req.ServicePoint.ConnectionLimit = 10;
return (WebRequest)req;
}
}
関連
-
[解決済み】「The breakpoint will not currently be hit」を改善するには?このドキュメントにはシンボルが読み込まれていません。" という警告はどうすれば改善されますか?
-
[解決済み] 他のスレッドからGUIを更新するにはどうすればよいですか?
-
[解決済み] ランダムな英数字の文字列を生成するにはどうすればよいですか?
-
[解決済み] .NETコンソールアプリケーションでアプリケーションのパスを取得するにはどうすればよいですか?
-
[解決済み] アセンブリファイルのバージョンを取得する方法
-
[解決済み] 1つのディレクトリにいくつまでファイルを置くことができますか?
-
[解決済み] Windowsにはなぜ260文字というパスの長さの制限があるのですか?
-
[解決済み] C#でWebClientを使用して特定のURLにデータをポストする方法
-
[解決済み】Parallel.ForEachを制限するには?
-
[解決済み】.NET WebClientオブジェクトのタイムアウトを変更する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】WCFとは何か、何ができるのか?
-
[解決済み] アセンブリから型を読み込めなかったエラー
-
[解決済み] EF Coreのadd-migrationのビルドに失敗しました。
-
[解決済み] WPFで角丸ボタンを作成する/作るには?
-
[解決済み] Microsoft.NETFrameworkとMicrosoft.NETFramework64の違いは何ですか?
-
[解決済み] データテーブルがすでに別のデータセットに属している
-
[解決済み] VB.NETでファイル名を一意のサフィックスに変更するには?
-
[解決済み] .NET WebRequestを使用してsharepointにファイルをアップロードすると、409/Conflict HTTPエラーが発生する理由?
-
[解決済み] Microsoft.ACE.OLEDB.12.0' プロバイダがローカルマシンに登録されていません。
-
[解決済み] PowerShellで文字列がNULLまたは空であるかどうかを確認するにはどうすればよいですか?