2009-12-21 16 views
8

Una instalación de ASP.NET regulares creará machine.config con la siguiente configuración:configuración ProcessModel ASP.NET optimización

<system.web> 
    <processModel autoConfig="true" /> 

me gustaría anular algunos valores de las propiedades en web.config como:

<system.web> 
    <processModel 
    maxWorkerThreads="100" 
    maxIoThreads="100" 
    minWorkerThreads="40" 
    minIoThreads="30" 
    memoryLimit="60" 
    /> 

Me gustaría saber si tengo que escribir todas las propiedades predeterminadas dentro de web.config o tomará automáticamente otras propiedades predeterminadas de processmodel de machine.config?

siguientes son las propiedades de 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" 
/> 
+0

¿Alguna vez ha recibido una respuesta a esta pregunta? –

Respuesta

4

Machine.config siempre se hereda.

De MSDN:

varios archivos de configuración, todos denominado Web.config, puede aparecer en varios directorios en un servidor de aplicaciones Web ASP.NET . Cada archivo Web.config aplica la configuración a su propio directorio y todos los directorios secundarios debajo de él. Configuración archivos en directorios secundarios pueden suministrar información de configuración, además a la heredada de padres directorios, y los valores de configuración de directorio secundario pueden anular o modificar la configuración de definidos en la matriz directorios. El archivo de configuración raíz denominado raíz del sistema \ Microsoft.NET \ Framework \ versionNumber \ CONFIG \ Machine.config proporciona configuración de configuración de ASP.NET para todo el servidor web.

+1

Gracias, En realidad, tengo una duda; porque en machine.config solo hay una sola propiedad "autoConfig =" true "pero en web.config estamos escribiendo un nombre de propiedad específico. Si esto confirma que todas las propiedades ocultas se heredan automáticamente en web.config, entonces es bueno. –

+1

No es así como funciona: Machine.config y Web.config se fusionan en el tiempo de ejecución, por lo que AutoConfig es verdadero o falso. AutoConfig no configura la herencia. Vea más aquí: http://msdn.microsoft.com/en-us /library/system.web.configuration.processmodelsection.autoconfig(VS.100).aspx – bzlm

+0

Si miras en machine.config, verás algo como

que significa que no puede seguir este consejo y establecer estas configuraciones en Web.Config. – kamens

1

Parece que no podemos anular las configuraciones de processModel en web.config como se muestra en el siguiente enlace.

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

EDIT: No he leído los comentarios. Podemos configurar el valor de MachineToApplication que requiere el reinicio de la máquina, parece. ¿Alguna idea de cuáles serán los efectos secundarios?

Gracias.

0

¿Tiene sentido responder la pregunta ahora? Hice una prueba para cambiar el valor, y al usar el Administrador de configuración de IIS, veo que el valor se actualiza. Por supuesto, el cambio en el archivo machine.config se aplica a todos los sitios. No encontré una forma de establecer el valor por sitio.

Default value: 20

After changing the config

El machine.config tiene la siguiente

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

que no necesitaba para establecer el resto de los valores.