2010-07-15 6 views
6

Devo eseguire alcune regolazioni delle prestazioni e modificare le seguenti impostazioni: processModel, httpRuntime e connectionManagement. Suppongo che sia abbastanza semplice, ma non sono sicuro di quale dei due file machine.config modificare, o posso modificare entrambi?Ho due file machine.config sul mio server, quale devo modificare e come posso verificare che vengano utilizzati?

  • \ Windows \ microsoft.net \ Framework \ v2.0.50727 \ Config \ machine.config
  • \ Windows \ microsoft.net \ Framework64 \ v2.0.50727 \ Config \ machine.config

Come domanda di follow-up, come verificare che le impostazioni siano state applicate?

Devo dire che il server esegue Windows Server 2003 Enterprise (64-bit) con IIS 6.0 (64-bit) e MSSQL Server Enterprise 2005 (64-bit).

Grazie per l'aiuto in anticipo!

risposta

11

Quello che si trova in Framework64 viene utilizzato se l'applicazione .net/IIS è in esecuzione in modalità 64 bit. L'altro viene utilizzato se si esegue in modalità a 32 bit.

Quando si richiama il Task Manager di Windows, se "* 32" è aggiunto al nome del processo, viene eseguito a 32 bit. Se no, funziona a 64 bit.

Se il sistema operativo è a 64 bit, suppongo che dal momento che si dispone di entrambe le cartelle sul computer.

Se si utilizza IIS6/7, il processo è denominato w3wp.exe.

IIS7 dispone anche di altre impostazioni che possono essere lette at this blog post.

+0

Guardando il Task Manager in questo momento, vedo "w3wp.exe". Quindi vuol dire che sto usando IIS 7.0 e non 6.0 come avevo pensato? Vedo anche "sqlservr.exe". Entrambi i processi non hanno il suffisso "* 32". Tuttavia, vedo altri procs che hanno il suffisso "* 32" (ad esempio, "sqlbrowser.exe * 32", "SqlWb.exe * 32"). Qualche idea di cosa significhi? – John

+0

A proposito, stavo utilizzando questo articolo per determinare quale versione di IIS è installata per impostazione predefinita con Windows Server 2003: http://support.microsoft.com/kb/224609 – John

+0

Sia IIS6 che 7 sono denominati w3wp. Ho modificato questo nella mia risposta.E se w3wp manca * 32, sono in esecuzione a 64 bit e dovresti modificare machine.config in Framework64. –

3

Personalmente non modificherò nessuno dei due, ma modificherò invece i file web.config a livello di sito o di applicazione.

Si dovrebbe essere in grado di modificare httpRuntime e connectionManagement impostazioni in questo modo, ma non processModel, che può essere utilizzato solo in machine.config.

Tuttavia si may not need to modify processModel se siete su Windows Server 2003.

Come altri hanno fatto notare, se si desidera modificare machine.config, IIS6 verrà eseguito in modalità a 64 bit per default, in modo che la versione modificare. Se è necessario per l'esecuzione in modalità a 32 bit (ad esempio, perché è necessario utilizzare a 32 bit DLL native), è possibile configurare la modalità a 32 bit come segue:

cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 "true" 

Vedi this TechNet article per maggiori informazioni.

+0

Grazie per il suggerimento Joe. Userò web.config per tutte le impostazioni di cui sopra. – John

+0

a meno che non si desideri applicare le impostazioni per l'intero server (per tutti i siti). Quindi Machine.config è il percorso appropriato. –

+0

"a meno che non si desideri applicare le impostazioni all'intero server (per tutti i siti), quindi Machine.config è il percorso appropriato." - Continuerei a sostenere che è meglio inserirla nel web.config di ciascun sito. Quindi i siti sono autonomi e puoi spostarli su un altro server senza chiedersi perché improvvisamente smettono di funzionare. – Joe

Problemi correlati