ConnectionManagementElement.MaxConnection и ServicePointManager.DefaultConnectionLimit

Я пытаюсь понять, что два свойства ConnectionManagementElement.MaxConnection а также ServicePointManager.DefaultConnectionLimit используются для управления исходящими соединениями для приложений ASP.net, и если более низкое значение в одном ограничит все исходящие соединения для приложения.

На основе информации MSDN для ServicePointManager DefaultConnectionLimit свойство контролирует максимальное количество одновременных соединений, разрешенных ServicePoint объект. В нем говорится, что начальное значение установлено равным 2, если только оно не выполняется на сервере, тогда оно равно 10, однако просто для простого вывода значения подставьте его фактическое действующее значение в 2147483647. Что подтверждается ссылкой на код платформы MS в ответе на этот SO пост.

На основе .Net Code значение по умолчанию для ConnectionManagementElement.MaxConnection устанавливается на 1 для каждого уникального порта ip/domain +, если значения не определены в разделе управления подключением web.config, однако на основе блога от MS, когда autoConfig = true в конфигурации машины значение по умолчанию составляет 12 * # ядер. В моем случае это было бы 48 = 12 * 4. Похоже, что нет способа получить текущее значение для свойства, которое устанавливается в разделе конфигурации, поэтому сейчас я предполагаю, что это значение определяется каким autoConfig определяет, что это должно быть, и что ничто другое не переопределяет его.

С этими подробностями о двух свойствах они кажутся совершенно независимыми. Однако на вопрос, опубликованный на форуме asp.net, есть ответ о том, что настройка раздела конфигурации - это просто альтернативный способ настройки ServicePointManager.DefaultConnectionLimit значение.

Конфигурация сети / машины ConnectionManagementElement.MaxConnection привыкнуть когда autoConfig установлен в true?

Если да, то ConnectionManagementElement.MaxConnection установить значение ServicePointManager.DefaultConnectionLimit в Application_Start() сделав синонимом установку его в виде кода в определенной Application_Start() метод в global.asax?

Если нет, будет ConnectionManagementElement.MaxConnection а также ServicePointManager.DefaultConnectionLimit контролировать разные ограничения на основе того, что инициировало сетевой запрос?

0 ответов

Другие вопросы по тегам