Как вы сообщаете IIS 6, чтобы установить версию .NET на 2.0 (а не 1.1). Когда создаются новые сайты?
Мы создаем новые сайты в IIS 6 (Windows Server 2003) с помощью диспетчера IIS. Когда эти сайты создаются в IIS 6, версия ASP.NET по умолчанию соответствует ASP.NET 1.1. Мы хотели бы, чтобы это было по умолчанию ASP.NET 2.0. Причина, по которой это проблема, заключается в том, что когда вы берете любой сайт на сервере и переключаете версию ASP.NET с ASP.NET 1.1 на ASP.NET 2.0, все веб-сайты перерабатываются.
Есть ли параметр в метабазе IIS, который контролирует это или способ создания сайта через script, который правильно устанавливает версию ASP.Net, чтобы мы могли избежать IIS reset при настройке каждого сайта?
Ответы
Ответ 1
Как уже упоминалось другим, я ссылаюсь на этот пост, когда мне нужно изменить настройки .NET для сайта.
Что касается вашего вопроса, следующие шаги (обобщенные из связанного сообщения) должны обеспечить то, что вам нужно:
-
Запустите aspnet_regiis -lk
из любой платформы .NET framework, чтобы отобразить текущие настройки, чтобы помочь вам определить, какие сайты должны оставаться с использованием .NET 1.1. Если вы знаете, что есть сайт .NET 1.1, но он явно не указан этой командой, то он наследуется от корня W3SVC/
.
-
Для всех сайтов .NET 1.1, явно не указанных в предыдущей команде, вам необходимо заставить их использовать .NET 1.1:
- Определите идентификатор идентификатора сайтов (сайтов), которые вы хотите использовать для использования .NET 1.1. (Через диспетчер IIS 6 вы можете определить Идентификатор сайта, щелкнув папку "Веб-сайты" в левой части инструмента. С правой стороны будут указаны все ваши сайты, а в столбце Идентификатор отображается идентификатор.)
- В папке Framework.NET 1.1 запустите
aspnet_regiis -sn W3SVC/<Identifier ID>/ROOT/
, где <Identifier ID>
- это идентификатор сайта, который вы хотите использовать для использования .NET 1.1.
- Наконец, измените корень
W3SVC/
на использование .NET 2.0, чтобы все вновь созданные сайты наследовали от корня и по умолчанию использовали .NET 2.0. Чтобы изменить корень, из папки фреймворка .NET 2.0 запустите aspnet_regiis -sn W3SVC/
.
Вы можете снова запустить aspnet_regiis -lk
, чтобы подтвердить свои настройки.
Ответ 2
Будьте осторожны, запустив aspnet_regiis -i, переназначит все ваши сайты IIS на 2.0. Если у вас есть 1.1 приложения, которые вы хотите сохранить, запустите aspnet_regiis -ir вместо этого. Это установит 2.0 для среды выполнения по умолчанию для IIS, но не изменит сопоставление script для существующих сайтов.
Ответ 3
Найдите каталог для версии .Net, которую вы хотите, например;
C:\Windows\Microsoft.NET\Framework\v2.0.50727
Получите приглашение cmd и запустите aspnet_regiis -i.
Дополнительная информация @http://weblogs.asp.net/owscott/archive/2006/05/30/ASPNet_5F00_regiis.exe-tool_2C00_-setting-the-default-version-without-forcing-an-upgrade-on-all-sites.aspx
Райан
Ответ 4
Далее будет установлен веб-сайт по умолчанию для ASP.NET 2.0:
C:\windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -sn W3SVC/
дочерние приложения наследуют параметр ASP.NET от родителя, поэтому все дети будут иметь новую настройку.
В качестве альтернативы запустите эту команду после изменения нового приложения.
Rob
Ответ 5
Простой ответ: откройте диспетчер IIS. В навигационной панели найдите веб-сайт .NET2 и щелкните по нему правой кнопкой мыши. Выберите "Свойства". Затем выберите вкладку "ASP.NET". Первый раскрывающийся список на этом экране дает вам возможность выбрать другую версию .NET.
Помните - когда я это сделал, все веб-сайты на веб-сервере перестали работать. Поддержка Microsoft сообщила мне, что .NET1 и .NET2 не должны запускаться из одной общей области (по умолчанию веб-сайтов) веб-сервера. Решение состоит в том, чтобы создать пул приложений на веб-сервере для сайтов .NET1 или .NET2, а затем использовать это, чтобы изолировать все сайты, на которых запущена "другая" версия .NET. Инструкции по созданию пула приложений можно найти в разделе "Справка" в диспетчере IIS.
Вы можете создать только один пул приложений и поместить все сайты с одним и тем же .NET в один и тот же пул или, вы можете создать пул приложений для каждого приложения. Ваш выбор.