问题
A regular ASP.NET installation will create machine.config with the following configuration:
<system.web>
<processModel autoConfig="true" />
I would like to override few properties values in web.config like:
<system.web>
<processModel
maxWorkerThreads="100"
maxIoThreads="100"
minWorkerThreads="40"
minIoThreads="30"
memoryLimit="60"
/>
I would like to know that whether i have to write all default properties inside web.config or it will automatically take other default properties of processmodel from machine.config?
Following are the properties of 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"
/>
回答1:
Machine.config is always inherited.
From MSDN:
Multiple configuration files, all named Web.config, can appear in multiple directories on an ASP.NET Web application server. Each Web.config file applies configuration settings to its own directory and all child directories below it. Configuration files in child directories can supply configuration information in addition to that inherited from parent directories, and the child directory configuration settings can override or modify settings defined in parent directories. The root configuration file named systemroot\Microsoft.NET\Framework\versionNumber\CONFIG\Machine.config provides ASP.NET configuration settings for the entire Web server.
回答2:
It seems we cannot override the processModel settings in web.config as per the below link.
http://msdn.microsoft.com/en-us/library/ms178685.aspx
EDIT : I didn't read the comments. We can set MachineToApplication value which requires machine reboot it seems. Any idea what will be the side effects?
Thanks.
回答3:
Does it make sense to answer the question now? I did a test to change the value, and using the IIS Configuration Manager, I see that the value is updated. Of course the change in on the machine.config file, to it applies to all the sites. I did not find a way to set the value per site.
The machine.config has the following
<processModel autoConfig="false" maxIoThreads="250" />
I did not need to set the rest of the values.
来源:https://stackoverflow.com/questions/1939230/asp-net-processmodel-configuration-optimization