Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вон Йо
Совместимость
| Версия | Примечания |
|---|---|
| IIS 8.0 | ASP.NET 3.5 и ASP.NET 4.5 поддерживаются в IIS 8.0. |
| IIS 7.5 | ASP.NET 3.5 и ASP.NET 4.5 поддерживаются в IIS 7.5. |
| IIS 7.0 | ASP.NET 3.5 и ASP.NET 4.5 поддерживаются в IIS 7.0. |
Проблема.
Windows Server 2012 включает .NET Framework 4.5 по умолчанию, а также необязательную установку платформы .NET 3.5 Framework. Разработчикам часто требуется запускать смешанные веб-приложения в нескольких версиях .NET Framework.
Решение
IIS 8.0 в Windows Server 2012 запускает ASP.NET приложения на всех версиях .NET Framework, поддерживаемых в Windows Server 2012. Это означает, что ASP.NET приложения могут работать в IIS 8.0 с помощью .NET Framework 3.5 или .NET Framework 4.5. IIS 8.0 размещает версии .NET Framework в разных пулах приложений, что позволяет нескольким ASP.NET приложениям с разными версиями .NET Framework одновременно работать в Windows Server 2012.
IIS 8.0 также поддерживает управление как ASP.NET 3.5, так и ASP.NET 4.5 приложений с помощью графического средства диспетчера IIS, а также средств управления командной строкой IIS. Дополнительные сведения см. в статье iis 8.0 ASP.NET Configuration Management .
Пошаговые инструкции
Необходимые условия
- Службы IIS устанавливаются в Windows Server 2012. Дополнительные сведения об установке IIS 8 см. в статье об установке IIS 8 в Windows Server 2012.
Настройка IIS 8.0 с поддержкой ASP.NET 3.5 и ASP.NET 4.5
В Windows Server 2012 как .NET Framework 3.5, так и .NET Framework 4.5 изначально распознаются операционной системой. Это означает, что настройка на основе пользовательского интерфейса и на основе командной строки можно использовать для включения обеих версий .NET Framework, а также для интеграции обеих версий ASP.NET с IIS 8.0.
В этом пошаговом руководстве мы будем использовать новый пользовательский интерфейс диспетчера серверов в Windows Server 2012 Server для демонстрации включения как ASP.NET 3.5, так и ASP.NET 4.5 в IIS 8.0.
При первом входе на новый компьютер Windows Server 2012 будет отображаться новый пользовательский интерфейс диспетчера серверов. Нажмите кнопку "Добавить роли ", как показано ниже:
На первом экране мастера добавления ролей и компонентов нажмите кнопку "Далее". Откроется страница, на которой выбран нужный тип установки. Выберите установку по ролям или характеристикам, как показано ниже.
Нажмите кнопку "Далее". На следующем экране мастера появится запрос на выбор настраиваемого сервера.
На следующем шаге мастера вам будет предложено выбрать одну или несколько ролей сервера. Прокрутите вниз в списке ролей и установите флажок веб-сервера (IIS), как показано ниже:
Нажмите кнопку "Далее ", чтобы перейти к следующему шагу, что позволяет выбрать дополнительные компоненты для установки на сервере. Нажмите кнопку "Далее" и перейдите к следующему шагу.
На следующем шаге мастера отображаются общие сведения о роли веб-сервера (IIS ). Нажмите кнопку "Далее" и перейдите к следующему шагу. Теперь вы должны находиться на шаге мастера, который выглядит следующим образом:
Обратите внимание, что несколько вложенных функций по умолчанию для IIS уже были включены, так как вы выбрали роль сервера веб-сервера (IIS) ранее. Однако мы хотим включить как ASP.NET 3.5, так и ASP.NET 4.5 для запуска в IIS 8.0, поэтому нам необходимо включить некоторые дополнительные функции, связанные с IIS. Прокрутите вниз в списке служб ролей , пока не отобразится узел разработки приложений . Сначала этот узел свернут, щелкните узел и разверните его таким образом, чтобы его дочерние элементы отображались:
Узел разработки приложений — это узел, в котором мы можем включить интеграцию ASP.NET с IIS. Обратите внимание, что в списке функций есть несколько флажков с похожими именами. Пара флажков, представляющая интерес для этого пошагового руководства:
- ASP.NET 3. 5. Этот параметр позволяет ASP.NET 3.5 запускаться в IIS 8.0. Обратите внимание, что в Windows Server 2012 платформа .NET Framework 3.5 недоступна в составе базового образа ОС. Вместо этого полезные данные скачиваются из Интернета и необходимо подключиться к Интернету.
- ASP.NET 4.5 . Этот параметр позволяет запускать ASP.NET 4.5 в IIS 8.0.
Сначала установите флажок ASP.NET 3.5 . При этом появится дополнительное диалоговое окно, как показано ниже:
Так как ASP.NET 3.5 интегрирована в программу установки Windows Server 2012, Windows Server 2012 знает все связанные зависимости, необходимые для включения ASP.NET 3.5 в IIS 8.0. В этом всплывающем диалоговом окне отображается только то, что будет автоматически извлечено и установлено. Так как мы хотим включить ASP.NET 3.5, нажмите кнопку "Добавить необходимые компоненты".
Затем установите флажок ASP.NET 4.5 в списке функций служб ролей . Ниже показан конечный результат нажатия обоих ASP.NET связанных флажков:
Несмотря на то, что вы выбрали только ASP.NET 3.5 и ASP.NET 4.5 функций, мастер автоматически включил ряд других элементов. Это делается автоматически, чтобы разработчики не должны явно выбирать различные компоненты, необходимые для сборки ASP.NET в Windows Server 2012. На этом этапе нажмите кнопку "Далее ", чтобы принять изменения.
На шаге "Подтверждение выбора установки" отображается список всех компонентов, установленных при принятии изменений.
На этом этапе нажмите кнопку "Установить ", чтобы принять изменения и установить полную поддержку ASP.NET в Windows Server 2012.
Так как установка займет небольшое время, мастер отображает диалоговое окно хода выполнения во время выполнения установки:
Через несколько минут мастер показывает, что установка завершена:
На этом этапе можно нажать кнопку "Закрыть " и выйти из мастера.
Изучение установки IIS 8.0
С установленной интеграцией как IIS 8.0, так и ASP.NET, можно ознакомиться с базовой инфраструктурой ASP.NET для IIS 8.0.
В меню "Пуск Windows" выберите "Все программы" , а затем разверните меню "Администрирование ". В результирующем списке найдите диспетчер служб IIS и выберите его, чтобы запустить графическое средство управления IIS:
После запуска диспетчера IIS разверните узел сервера в левом окне, чтобы отображались узлы пулов приложений и узлы сайтов . Когда вы сделаете это, в диспетчере IIS появится диалоговое окно с вопросом, хотите ли вы оставаться на связи с последними компонентами веб-платформы. В этом пошаговом руководстве можно нажать кнопку "Нет". На этом этапе диспетчер IIS выглядит следующим образом:
Щелкните узел Application Pools, чтобы отобразить пулы приложений, которые теперь установлены для использования в IIS 8.0.
По умолчанию можно увидеть, что шесть разных пулов приложений создаются по умолчанию, если для IIS 8.0 включены как ASP.NET 3.5, так и ASP.NET 4.5. Четыре приложения являются новыми для IIS 8.0, а два других пула приложений перенесены из предыдущих выпусков Windows.
- Обратите внимание, что в столбце версии .NET Framework показаны версии 2.0 и версии 4.0 для версий .NET Framework, они приравниваются к ASP.NET 3.5 и ASP.NET 4.5. Из-за внутренних принципов привязки пулов приложений к версиям .NET Framework фактическое имя версии, записанное в конфигурацию (и таким образом отображаемое в средстве), соответствует исходной версии файла .NET Framework.
- Классическая версия .NET AppPool и DefaultAppPool существовали в предыдущих версиях Windows и, следовательно, продолжает создаваться для IIS 8.0. Обратите внимание, что поскольку .NET Framework 4.5 является версией по умолчанию для Windows Server 2012, DefaultAppPool в IIS 8.0 также по умолчанию использует эту версию .NET Framework.
- Другие четыре пула приложений являются новыми в Windows Server 2012. Существует два пула приложений для запуска .NET Framework 3.5 (.NET версии 2.0 и .NET версии 2.0 Классический), а также два пула приложений для запуска .NET Framework 4.5 (.NET Framework 4.5 и .NET Framework 4.5 Classic).
- Разница между "классическим" и "не классическим" пулами приложений — это режим управляемого конвейера, поддерживаемый в каждом типе пула приложений. Два пула приложений, заканчивающиеся "классическим", поддерживают более старый классический режим конвейера Windows Server 2003 для ASP.NET, а другие два пула приложений используют более новый интегрированный режим конвейера для ASP.NET представлен в Vista/IIS7.0.
Разверните узел Сайты на левой стороне экрана, чтобы узел Default Web Site стал виден:
По умолчанию установки IIS всегда имеют "Веб-сайт по умолчанию", настроенный для прослушивания HTTP-запросов через порт 80. Углубитесь в "Default Web Site", чтобы выяснить, какая версия ASP.NET поддерживается по умолчанию. Щелкните правой кнопкой мыши веб-сайт по умолчанию, а затем выберите "Управление веб-сайтом" и выберите "Дополнительные параметры ", как показано ниже:
Откроется диалоговое окно "Дополнительные параметры" , показывающее (среди прочего) пул приложений, используемый для запуска веб-сайта по умолчанию. Как показано на рисунке ниже, веб-сайт "По умолчанию" работает в пуле приложений с именем "DefaultAppPool":
Если щелкнуть небольшую кнопку с многоточием в правой части пула приложений, появится дополнительное диалоговое окно, отображающее дополнительные сведения о defaultAppPool. Как отмечалось ранее, DefaultAppPool устанавливается по умолчанию для ASP.NET 4.5 для IIS 8.0, поэтому приложения ASP.NET 4.5, развернутые на веб-сайте «по умолчанию», будут работать без необходимости в дополнительной настройке.
На этом этапе нажмите кнопку "Отменить" , чтобы отменить диалоговое окно "Выбор пула приложений " и диалоговое окно "Дополнительные параметры ".
Выполнение приложений ASP.NET 3.5 и ASP.NET 4.5
Теперь, когда вы изучили состояние установки IIS 8.0, попробуйте запустить некоторый пример кода ASP.NET, чтобы убедиться, что оба приложения ASP.NET 3.5 и ASP.NET 4.5 могут работать одновременно на одной установке IIS 8.0.
Пример кода для ASP.NET 3.5 и ASP.NET 4.5 содержится в следующих .zip:
Сначала настройте простое приложение ASP.NET 3.5 в IIS 8.0:
Откройте файл "examples.zip".
В проводнике Windows на компьютере с Windows Server 2012 перейдите в каталог wwwroot для установки IIS. Например, если вы установили IIS на диске C:\ , каталог wwwroot будет находиться в
c:\inetpub\wwwroot.Скопируйте папку example35 из "examples.zip" и вставьте ее в каталог
c:\inetpub\wwwroot. После завершения структура каталога должна выглядеть следующим образом:
Только что созданную папку Example35 необходимо настроить в качестве приложения ASP.NET 3.5 в диспетчере IIS. Вернитесь в окно диспетчера IIS, щелкните узел веб-сайта по умолчанию и выберите "Обновить". В представлении дерева дочерних узлов на веб-сайте по умолчанию теперь отображается папка example35:
Щелкните правой кнопкой мыши папку Example35 и выберите "Преобразовать в приложение":
Откроется диалоговое окно "Добавление приложения ". По умолчанию все каталоги в веб-сайте по умолчанию являются частью пула приложений с именем DefaultAppPool. Это означает, что недавно созданные папки, содержащие ASP.NET, выполняются как ASP.NET приложения 4.5 по умолчанию.
Так как мы хотим запустить папку example35 как приложение ASP.NET 3.5, пул приложений необходимо изменить. Нажмите кнопку "Выбрать" и откроется диалоговое окно "Выбор пула приложений ". Измените пул приложений на .NET версии 2.0 , как показано ниже:
Нажмите кнопку "ОК ", чтобы принять изменение пула приложений, а затем нажмите кнопку "ОК ", чтобы зафиксировать изменения в IIS. Откроется окно диспетчера IIS. В дереве обозревателя, отображающем "Веб-сайт по умолчанию", значок для "пример 35" изменен, чтобы показать, что это теперь отдельное приложение ASP.NET.
На этом этапе запустите экземпляр Internet Explorer и перейдите по следующему URL-адресу:
http://localhost/example35После короткой паузы приложение отображает список функций .NET Framework, поддерживаемых в этом приложении.
В проводнике Windows, если перейти к
c:\inetpub\wwwroot\example35каталогу, можно использовать блокнот для просмотра кода для "default.aspx" и сведений в "web.config". Например, содержимое web.config включают директивы, которые настраивают компиляторы .NET Framework для запуска в режиме "3.5". Код .NET Framework в default.aspx демонстрирует некоторые конструкции C#, которые были введены в .NET 3.5, в частности запросы LINQ-to-Object.
Теперь, когда запущено приложение ASP.NET 3.5, можно создать второе ASP.NET приложение, но на этот раз настройте его для использования .NET Framework 4.5.
Вернитесь в окно проводника Windows с открытым файлом .zip "examples.zip".
Откройте содержимое папки example45.
Во втором окне проводника Windows, которое вы открыли, перейдите к разделу
c:\inetpub\wwwroot.Скопируйте файл default.aspx из файла .zip и вставьте его непосредственно в
c:\inetpub\wwwroot. Содержимое папкиc:\inetpub\wwwrootдолжно выглядеть следующим образом:
Теперь вернитесь в Internet Explorer и перейдите по следующему URL-адресу:
http://localhost/default.aspxПосле короткой паузы второй пул приложений начнет работать с приложением ASP.NET 4.5 для веб-сайта по умолчанию. В браузере снова отображается список функций .NET Framework, поддерживаемых в этом приложении, с новой записью в конце списка для динамически типизированных переменных (то есть динамическое ключевое слово, введенное в .NET Framework 4.0/4.5). Обратите внимание, что в отличие от приложения example35, требующего специальных web.config записей, для настройки и запуска страницы "default.aspx" на веб-сайте по умолчанию не требуется файл web.config. Это связано с тем, что .NET Framework 4.5 является платформой .NET Framework по умолчанию, используемой ASP.NET приложениями в IIS 8.0, и в результате дополнительная конфигурация не требуется.
Если вы используете Блокнот для открытия только что скопированной страницы "default.aspx", вы также увидите несколько изменений по сравнению с версией в каталоге "example35". Директивы пространства имен в верхней части страницы отсутствуют, так как платформа .NET Framework 4.5 используется по умолчанию в IIS 8.0. Код на странице демонстрирует использование динамической переменной, которая представляет собой концепцию компилятора, представленную в .NET Framework 4.0/4.5.
Сводка
IIS 8.0 поддерживает запуск как ASP.NET 3.5, так и ASP.NET приложений 4.5 на одном компьютере с использованием разных пулов приложений для размещения каждой версии .NET Framework. IIS 8.0 поддерживает несколько версий .NET Framework, что позволяет разработчикам и администраторам использовать все преимущества IIS 8.0 при сохранении обратной совместимости с веб-приложениями, перенесенными из Windows Server 2008 R2.