2009-12-21 10 views
8

Eine regelmäßige Installation von ASP.NET wird machine.config mit folgenden Konfiguration erstellen:ASP.NET Process Konfiguration Optimierung

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

Ich mag einige Eigenschaften Werte in web.config außer Kraft zu setzen wie:

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

Ich würde gerne wissen, ob ich alle Standardeigenschaften in web.config schreiben muss oder es wird automatisch andere Standardeigenschaften von Prozessmodell aus machine.config nehmen?

Im Folgenden werden die Eigenschaften von Process

<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

Haben Sie jemals eine Antwort auf diese Frage erhalten? –

Antwort

4

Machine.config immer vererbt wird.

Von MSDN:

Mehrere Konfigurationsdateien, die alle Web.config genannt, kann in mehrere Verzeichnisse auf einer ASP.NET Web Anwendungsserver erscheinen. Jede Datei Web.config wendet Konfigurationseinstellungen auf ein eigenes Verzeichnis und alle untergeordneten Verzeichnisse darunter an. Konfiguration Dateien in untergeordneten Verzeichnissen können Konfigurationsinformationen zusätzlich zu, dass von den Eltern Verzeichnissen geerbt liefern, und die Kind Verzeichnis Konfigurationseinstellungen können außer Kraft setzen oder Einstellungen im Eltern definiert ändern Verzeichnisse. Die Stammkonfiguration Datei mit dem Namen Systemroot \ Microsoft.NET \ Framework \ Versionsnummer \ CONFIG \ Machine.config bietet ASP.NET-Konfiguration Einstellungen für den gesamten Webserver.

+1

Danke, Eigentlich habe ich einen Zweifel; Weil in der Datei machine.config nur die Eigenschaft "autoConfig =" true "existiert, aber in web.config schreiben wir den Namen der spezifischen Eigenschaft. Wenn dies bestätigt, dass alle versteckten Eigenschaften automatisch in web.config geerbt werden, dann ist es gut. –

+1

So funktioniert das nicht Machine.config und Web.config werden zur Laufzeit zusammengeführt, daher ist AutoConfig entweder wahr oder falsch. AutoConfig konfiguriert die Vererbung nicht. Weitere Informationen finden Sie hier: http://msdn.microsoft.com/de-de /library/system.web.configuration.processmodelsection.autoconfig(VS.100).aspx – bzlm

+0

Wenn Sie in machine.config schauen, sehen Sie etwas wie

welches bedeutet, dass Sie diesen Rat nicht annehmen und diese Einstellungen in Web.Config vornehmen können. – kamens

1

Es scheint, dass wir die Einstellungen von processModel in web.config nicht überschreiben können, wie im folgenden Link beschrieben.

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

EDIT: ich die Kommentare gelesen haben. Wir können den MachineToApplication-Wert festlegen, für den ein Neustart des Rechners erforderlich ist. Irgendeine Idee was werden die Nebenwirkungen sein?

Danke.

0

Macht es Sinn, die Frage jetzt zu beantworten? Ich habe einen Test durchgeführt, um den Wert zu ändern, und mit dem IIS-Konfigurationsmanager sehe ich, dass der Wert aktualisiert wird. Natürlich ändert sich das in der machine.config Datei, dazu gilt es für alle Seiten. Ich habe keine Möglichkeit gefunden, den Wert pro Website festzulegen.

Default value: 20

After changing the config

Die machine.config hat folgende

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

ich nicht den Rest der Werte eingestellt werden mussten.