Оптимизация конфигурации ASP.NET Processmodel - PullRequest
9 голосов
/ 21 декабря 2009

При обычной установке ASP.NET создается файл machine.config со следующей конфигурацией:

<system.web>
    <processModel autoConfig="true" />  

Я хотел бы переопределить несколько значений свойств в web.config, например:

<system.web>
   <processModel 
     maxWorkerThreads="100" 
     maxIoThreads="100" 
     minWorkerThreads="40" 
     minIoThreads="30" 
     memoryLimit="60" 
   />

Я хотел бы знать, нужно ли мне записывать все свойства по умолчанию в web.config или оно автоматически примет другие свойства процесса по умолчанию из machine.config?

Ниже приведены свойства модели процесса

<processModel 
   enable="true|false"
   timeout="hrs:mins:secs|Infinite" 
   idleTimeout="hrs:mins:secs|Infinite"
   shutdownTimeout="hrs:mins:secs|Infinite"
   requestLimit="num|Infinite"
   requestQueueLimit="num|Infinite"
   restartQueueLimit="num|Infinite"
   memoryLimit="percent"
   webGarden="true|false"
   cpuMask="num"
   userName="{username}"
   password="{secure password}"
   logLevel="All|None|Errors"
   clientConnectedCheck="hrs:mins:secs|Infinite"
   comAuthenticationLevel="Default|None|Connect|Call| 
               Pkt|PktIntegrity|PktPrivacy"
   comImpersonationLevel="Default|Anonymous|Identify|
               Impersonate|Delegate"
   responseDeadlockInterval="hrs:mins:secs|Infinite"
   responseRestartDeadlockInterval="hrs:mins:secs|Infinite"
   autoConfig="true|false"
   maxWorkerThreads="num"
   maxIoThreads="num"
   minWorkerThreads="num"
   minIoThreads="num"
   serverErrorMessageFile="" 
   pingFrequency="Infinite" 
   pingTimeout="Infinite" 
   maxAppDomains="2000"
/>

Ответы [ 3 ]

4 голосов
/ 21 декабря 2009

Machine.config всегда наследуется.

С MSDN :

Несколько файлов конфигурации, все с именем Web.config, может появиться в несколько каталогов в ASP.NET Web сервер приложений. Каждый Web.config файл применяет настройки конфигурации к свой каталог и все дочерние каталоги под ним. конфигурация файлы в дочерних каталогах могут предоставить информация о конфигурации в дополнение что унаследовано от родителя каталоги и дочерний каталог настройки конфигурации могут переопределить или изменить настройки, определенные в родительском каталоги. Корневая конфигурация файл с именем системный_корневой_каталог \ Microsoft.NET \ Framework \ VersionNumber \ CONFIG \ Machine.config обеспечивает настройку ASP.NET настройки для всего веб-сервера.

1 голос
/ 07 июля 2010

Кажется, мы не можем переопределить параметры processModel в web.config, как показано ниже по ссылке.

http://msdn.microsoft.com/en-us/library/ms178685.aspx

РЕДАКТИРОВАТЬ: я не читал комментарии. Мы можем установить значение MachineToApplication, которое, кажется, требует перезагрузки компьютера. Есть идеи, какие будут побочные эффекты?

Спасибо.

0 голосов
/ 05 июля 2017

Имеет ли смысл сейчас ответить на вопрос? Я сделал тест для изменения значения, и с помощью диспетчера конфигурации IIS я вижу, что значение обновляется. Конечно, изменение в файле machine.config, к нему относится ко всем сайтам. Я не нашел способа установить значение для сайта.

Default value: 20

After changing the config

machine.config имеет следующий

   <processModel autoConfig="false" maxIoThreads="250" />

Мне не нужно было устанавливать остальные значения.

...