我的服务器上有两个machine.config文件,我编辑哪一个,如何验证它们的使用?

时间:2010-07-15 15:17:38

标签: .net asp.net windows-server-2003 machine.config

我需要进行一些性能调整,并需要修改以下设置:processModelhttpRuntimeconnectionManagement。我想这很简单,但是我不确定要编辑哪两个machine.config文件,还是我都编辑它们?

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

作为后续问题,如何验证设置是否已应用?

我应该提一下,服务器运行的是带有IIS 6.0(64位)和MSSQL Server Enterprise 2005(64位)的Windows Server 2003 Enterprise(64位)。

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:12)

如果您的.net应用程序/ IIS以64位模式运行,则会使用位于Framework64中的那个。如果以32位模式运行,则使用另一个。

当启动Windows任务管理器时,如果进程名称附加了“* 32”,则它以32位运行。如果不是它在64位下运行。

如果您的操作系统是64位,那么我认为是因为您的计算机上有两个文件夹。

如果您使用的是IIS6 / 7,则该过程名为w3wp.exe。

IIS7还有更多设置,可以阅读at this blog post

答案 1 :(得分:3)

我个人不会编辑,而是修改站点或应用程序级别的web.config文件。

您应该能够以这种方式修改httpRuntimeconnectionManagement设置,但不能修改processModel,这只能在machine.config中使用。

但是,如果您使用的是Windows Server 2003,则需要may not need to modify processModel

正如其他人所指出的,如果你想修改machine.config,默认情况下IIS6将以64位模式运行,因此这是要编辑的版本。如果需要以32位模式运行(例如,因为您需要使用32位本机DLL),则可以按如下方式配置32位模式:

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

有关详细信息,请参阅this TechNet article