ASP.NET Processmodel Configuration Optimization

半腔热情 提交于 2019-11-27 16:28:25

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!