9

常规 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 的其他默认属性?

以下是 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"
/>
4

3 回答 3

4

Machine.config 总是被继承的。

来自MSDN

多个名为 Web.config 的配置文件可以出现在 ASP.NET Web 应用程序服务器上的多个目录中。每个 Web.config 文件都将配置设置应用到它自己的目录和它下面的所有子目录。子目录中的配置文件除了可以提供从父目录继承的配置信息之外,还可以提供配置信息,并且子目录配置设置可以覆盖或修改父目录中定义的设置。名为 systemroot\Microsoft.NET\Framework\versionNumber\CONFIG\Machine.config 的根配置文件为整个 Web 服务器提供 ASP.NET 配置设置。

于 2009-12-21T10:07:40.730 回答
2

似乎我们无法按照以下链接覆盖 web.config 中的 processModel 设置。

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

编辑:我没有阅读评论。我们可以设置 MachineToApplication 值,这似乎需要机器重启。知道会有什么副作用吗?

谢谢。

于 2010-07-07T05:10:28.977 回答
0

现在回答这个问题有意义吗?我进行了更改值的测试,并使用 IIS 配置管理器,我看到值已更新。当然,machine.config 文件中的更改适用于所有站点。我没有找到一种方法来设置每个站点的值。

默认值:20

更改配置后

machine.config 具有以下内容

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

我不需要设置其余的值。

于 2017-07-05T18:14:57.233 回答