Разверните ASP.NET RC1 WebApp в IIS 8.5

Я пытаюсь развернуть ASP.NET 5 WebApp в Windows Server 2012 R2 с установленным IIS 8.5.

У меня есть исходный код нового веб-приложения ASP.NET. Если я соберу его и запущу в Visual Studio 2015, то все будет нормально.

Теперь... я хочу использовать мастер публикации, чтобы развернуть его в ISS 8.5, поэтому я делаю...

  1. Щелкните правой кнопкой мыши на имени проекта (WebApplication5)
  2. Я создал пользовательский профиль (я назвал как localhost)
  3. Я добавляю целевое местоположение. C:\ Inetpub \ Wwwroot
  4. Я настраиваю Настройки
    • Конфигурация: релиз
    • Целевая версия DNX: dnx-clr-win-x64.1.0.0.rc1-update1
  5. Затем я публикую веб-приложение.

После этого у меня есть следующая структура папок в моем C:\inetpub\wwwroot

C:\inetpub\wwwroot
     - approot
         - packages
         - runtime
         - src
         - ... bunch of files
     - logs
     - wwwroot
         - css
         - images
         - js
         - lib
         - some files including web.config

Теперь я отредактировал разрешения C:\inetput\wwwroot для включения IIS_IUSRS и IUSR (на данный момент я дал им полный доступ для устранения проблем с разрешениями)

Наконец, я зашел в диспетчер ISS на Веб-сайт по умолчанию -> Правый клик -> Управление веб-сайтом -> Расширенные настройки -> и под физическим путем добавил C:\inetpub\wwwroot\wwwroot

Я перезапустил IIS-сервер, и когда я пытаюсь перейти на сайт по умолчанию, я получил следующее сообщение...

Ошибка HTTP 500.19 - внутренняя ошибка сервера

Запрашиваемая страница недоступна, потому что связанные данные конфигурации для этой страницы недействительны. Подробная информация об ошибке:

Модуль IIS Web Core

Уведомление Неизвестно

Обработчик еще не определен

Код ошибки 0x8007000d

Ошибка конфигурации

Файл конфигурации \?\C:\inetpub\wwwroot\wwwroot\web.config

И наконец... это содержимое файла web.config...

<configuration>
  <system.webServer>
    <handlers>
      <add name="httpplatformhandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
    </handlers>
    <httpPlatform processPath="..\approot\web.cmd" arguments="" stdoutLogEnabled="false" stdoutLogFile="..\logs\stdout.log" startupTimeLimit="3600"></httpPlatform>
  </system.webServer>
</configuration>

Что мне не хватает? Раньше это было очень легко в предыдущих версиях ASP.NET, но сейчас я не могу настроить это должным образом.

Есть указатели? Спасибо!

1 ответ

Решение

Хорошо, когда у вас есть это...

Во-первых, убедитесь, что в вашем IIS установлен обработчик платформы HTTP ( x86 / x64).

Теперь вам нужно разблокировать system.webServer/handlers раздел, который можно найти в диспетчере IIS на узле сервера под Configuration Editor, Найдите нужный раздел и разблокируйте его на правой панели действий.

Убедитесь, что для пула приложений установлено значение No Managed Code, DNX запускается как внешний процесс. IIS не нужно знать о том, что он в настоящее время работает.

Поскольку мы говорим о внешнем процессе... убедитесь, что вы можете запустить dnx из пустой командной строки (как в: Не командная строка разработчика, предоставляемая Visual Studio).

Для полного урока, ознакомьтесь с официальной документацией.

Другие вопросы по тегам