ASP.net アプリケーションのアウトバウンド接続の管理に使用される2 つのプロパティConnectionManagementElement.MaxConnection
と2 つのプロパティを理解しようとしています。ServicePointManager.DefaultConnectionLimit
プロパティは、 ServicePointManagerのMSDN 情報に基づいてDefaultConnectionLimit
、オブジェクトが許可する同時接続の最大数を制御しServicePoint
ます。サーバー上で実行されていない限り、初期値は 2 に設定され、その後 10 に設定されますが、値の単純な出力は 2147483647 で実際の実行値になります。ポストに投函。
.Net コードに基づいて、web.config 接続管理セクションで値が定義されていない場合、デフォルト値は一意の IP/ドメイン + ポートごとに 1 に設定されますが、マシン構成でデフォルトの場合はMS からConnectionManagementElement.MaxConnection
のブログに基づいています値は 12 * コア数です。私の場合は 48 = 12 * 4 になります。config セクションが設定しているプロパティの実行中の値を取得する方法はないようです。 autoConfig は、そうあるべきであり、それをオーバーライドするものは他にないと判断します。autoConfig = true
2 つのプロパティに関するこれらの詳細により、それらは完全に独立しているように見えます。ただし、asp.net フォーラムに投稿された質問には、構成セクションの設定はServicePointManager.DefaultConnectionLimit
値を設定する別の方法に過ぎないという回答があります。
がtrue に設定されている場合、Web/マシン構成はConnectionManagementElement.MaxConnection
使用されますか?autoConfig
もしそうなら、global.asax で定義されたメソッドでコードとして設定することと同義にatConnectionManagementElement.MaxConnection
の値を設定しますか?ServicePointManager.DefaultConnectionLimit
Application_Start()
Application_Start()
そうでない場合、ネットワーク要求を開始したものに基づいて異なる制限を制御しますかConnectionManagementElement.MaxConnection
?ServicePointManager.DefaultConnectionLimit