Оптимизация конфигурации ASP.NET Processmodel

При обычной установке 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 или он будет автоматически принимать другие свойства по умолчанию processmodel из machine.config?

Ниже приведены свойства processmodel

<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 ответа

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

Из MSDN:

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

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

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

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

Благодарю.

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

Значение по умолчанию: 20

После изменения конфига

У machine.config есть следующее

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

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

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