Оптимизация конфигурации 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, к нему относится ко всем сайтам. Я не нашел способ установить значение для сайта.
У machine.config есть следующее
<processModel autoConfig="false" maxIoThreads="250" />
Мне не нужно было устанавливать остальные значения.