2010-07-15 2 views
6

Мне нужно выполнить некоторую настройку производительности и изменить следующие настройки: processModel, httpRuntime и connectionManagement. Достаточно простой, я полагаю, но я не уверен, какой из двух файлов machine.config для редактирования, или я редактирую оба?У меня есть два файла machine.config на моем сервере, который я редактирую и как я могу проверить, что они используются?

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

В качестве последующего вопроса, как проверить, были ли применены настройки?

Следует отметить, что на сервере работает Windows Server 2003 Enterprise (64-разрядная версия) с IIS 6.0 (64-разрядная версия) и MSSQL Server Enterprise 2005 (64-разрядная версия).

Спасибо за помощь заранее!

ответ

11

Используемый в Framework64 используется, если ваше приложение .net/IIS работает в режиме 64 бит. Другой используется при работе в 32-битном режиме.

При создании диспетчера задач Windows, если к имени процесса добавлено «* 32», оно выполняется в 32 бит. Если он не работает до 64 бит.

Если ваша ОС 64-разрядная, то я предполагаю, что у вас есть обе папки на вашем компьютере.

Если вы используете IIS6/7, процесс называется w3wp.exe.

У IIS7 есть дополнительные настройки для этого, которые могут быть прочитаны at this blog post.

+0

Посмотрите на диспетчер задач прямо сейчас, я вижу «w3wp.exe». Значит ли это, что я запускаю IIS 7.0, а не 6.0, как я думал? Я также вижу «sqlservr.exe». Оба процесса не имеют суффикса «* 32». Однако я вижу другие procs, у которых есть суффикс «* 32» (т. Е. «Sqlbrowser.exe * 32», «SqlWb.exe * 32»). Любая идея, что это значит? – John

+0

Кстати, я использовал эту статью, чтобы определить, какая версия IIS установлена ​​по умолчанию в Windows Server 2003: http://support.microsoft.com/kb/224609 – John

+0

И IIS6 и 7 называются w3wp. Я отредактировал это в своем ответе.И если w3wp отсутствует * 32, они работают в 64 бит, и вы должны отредактировать файл machine.config в Framework64. –

3

Лично я бы не редактировал ни одного, но вместо этого изменял файлы web.config на уровне сайта или приложения.

Вы должны иметь возможность изменять настройки httpRuntime и connectionManagement таким образом, но не processModel, которые могут использоваться только в machine.config.

Однако вы may not need to modify processModel, если вы на Windows Server 2003.

Как уже отмечалось, если вы хотите изменить machine.config, IIS6 будет работать в 64-битном режиме по умолчанию, так что версия редактировать. Если вам нужно работать в 32-битном режиме (например, потому что вы должны использовать 32-битные родные библиотеки DLL), можно настроить 32-битный режим следующим образом:

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

Смотрите this TechNet article для получения дополнительной информации.

+0

Спасибо за отзыв Джо. Я буду использовать web.config для всех вышеуказанных настроек. – John

+0

, если вы не хотите, чтобы настройки применялись на сервере (для всех сайтов). Тогда Machine.config - подходящее место. –

+0

", если вы не хотите, чтобы настройки применялись для всего сервера (для всех сайтов). Тогда Machine.config - это подходящее место." - Я все же утверждаю, что лучше разместить его в web.config каждого сайта. Затем сайты автономны, и вы можете переместить их на другой сервер, не задаваясь вопросом, почему они вдруг перестают работать. – Joe

 Смежные вопросы

  • Нет связанных вопросов^_^