2009-12-21 5 views
8

Une installation ASP.NET régulière va créer machine.config avec la configuration suivante:ASP.NET ProcessModel Configuration Optimisation

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

Je voudrais passer outre quelques valeurs de propriétés dans web.config comme:

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

Je voudrais savoir si je dois écrire toutes les propriétés par défaut à l'intérieur de web.config ou il prendra automatiquement d'autres propriétés par défaut de processmodel de machine.config?

Après sont les propriétés 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

Vous avez déjà obtenu une réponse à cette question? –

Répondre

4

Machine.config est toujours hérité.

De MSDN:

fichiers de configuration multiples, tous nommé Web.config, peut apparaître dans plusieurs répertoires sur un serveur d'applications Web ASP.NET . Chaque fichier Web.config applique les paramètres de configuration à son propre répertoire et tous les répertoires enfant en dessous. Configuration fichiers dans les répertoires enfants peuvent fournir informations de configuration en plus à celle héritée des répertoires parents , et le répertoire enfant paramètres de configuration peuvent remplacer ou modifier les paramètres définis dans les répertoires parent . Le fichier de configuration racine nommé systemroot \ Microsoft.NET \ Framework \ versionNumber \ CONFIG \ Machine.config fournit les paramètres de configuration ASP.NET pour l'ensemble du serveur Web.

+1

Merci, En fait, j'ai un doute; car dans machine.config il n'y a qu'une seule propriété "autoConfig =" true "mais dans web.config nous écrivons un nom de propriété spécifique Si ceci confirme que toutes les propriétés cachées sont automatiquement héritées dans web.config alors c'est bon. –

+1

Ce n'est pas comme ça que Machine.config et Web.config sont fusionnés au moment de l'exécution, donc AutoConfig est vrai ou faux.AutoConfig ne configure pas l'héritage.Voir plus ici: http://msdn.microsoft.com/fr-fr /library/system.web.configuration.processmodelsection.autoconfig(VS.100).aspx – bzlm

+0

Si vous regardez dans machine.config vous verrez quelque chose comme

qui Cela signifie que vous ne pouvez pas prendre ce conseil et définir ces paramètres dans Web.Config: – kamens

1

Il semble que nous ne pouvons pas remplacer les paramètres processModel dans web.config selon le lien ci-dessous.

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

EDIT: Je ne l'ai pas lu les commentaires. Nous pouvons définir la valeur MachineToApplication qui nécessite un redémarrage de la machine. Une idée de ce que seront les effets secondaires?

Merci.

0

Est-il sensé de répondre à la question maintenant? J'ai fait un test pour changer la valeur, et en utilisant le gestionnaire de configuration IIS, je vois que la valeur est mise à jour. Bien sûr, le changement dans le fichier machine.config s'applique à tous les sites. Je n'ai pas trouvé un moyen de définir la valeur par site.

Default value: 20

After changing the config

Le machine.config a le

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

suivant, je ne l'ai pas besoin de régler le reste des valeurs.