Ответ 1
HttpPlatformHandler является обязательным условием, поэтому вам нужно его установить,
[Обновлено: для RC2 и выше требуется новый модуль вместо HttpPlatformHandler, https://github.com/aspnet/Announcements/issues/164]
Я создал новое веб-приложение ASP.NET5 Beta 8.
Я публикую его в своей локальной файловой системе и копирую эти файлы на свой сервер, который является Windows Server 2012 R2
В IIS 8.5 на сервере я создаю приложение, которое использует пул приложений, который использует Process Model → Identity как LocalSystem.
и я указываю путь к подпапке wwwroot скопированного опубликованного приложения
Мой 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>
Запуск URL-адреса на сервере напрямую или щелчок по просмотру в IIS
http://localhost/WebApplication1
Я получаю следующую ошибку
Ошибка HTTP 500.19 - Внутренняя ошибка сервера
Запрошенная страница не может быть доступна, поскольку связанные с ней данные конфигурации для страницы недействительны.
Я использую по умолчанию web.config из шаблона веб-приложения Visual Studio 2015 ASP.NET 5 Beta8, поэтому я мог только подумать, что это возможно .net-версия.
Я скомпилировал его как Win CLR при публикации
http://localhost:5000/
и этот сайт работает правильно.
Если я рассматриваю роли ролей на IIS-сервере, установленные компоненты
Веб-сайты ASP.NET 4 корректно работают в IIS с использованием того же пула приложений
HttpPlatformHandler является обязательным условием, поэтому вам нужно его установить,
[Обновлено: для RC2 и выше требуется новый модуль вместо HttpPlatformHandler, https://github.com/aspnet/Announcements/issues/164]
Модель хостинга из бета-версии ASP.NET 5 изменилась и теперь зависит от IIS HttpPlatformHandler.
Вы заметите, что ваш web.config находится в папке wwwroot, или ваше приложение содержит ссылки на него.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified"/>
</handlers>
<httpPlatform processPath="%DNX_PATH%" arguments="%DNX_ARGS%" stdoutLogEnabled="false" startupTimeLimit="3600"/>
</system.webServer>
Вышеуказанный% DNX_PATH% переводится в "..\approot\web.cmd"
Заметки о выпуске ASP.NET BETA 8
Хостинг приложений ASP.NET 5 в IIS теперь будет достигнут с помощью IIS HttpPlatformHandler, настроенного для пересылки на сервер ASP.NET 5 Kestrel. HttpPlatformHandler - это собственный IIS-модуль, который должен быть установлен администратором на сервере с IIS (установщики: x86, x64). Он также уже включен в обновление бета-версии бета-версии для локальной разработки в IIS Express. Этот собственный модуль IIS управляет запуском внешнего процесса хоста приложения (в данном случае dnx.exe) и маршрутизации запросов от IIS к размещенному процессу.
Вы можете установить HttpPlatformHandler с помощью установщика Microsoft Web Platform или отдельных установщиков x86/x64 на ссылки для загрузки с сайта Microsoft IIS: ссылка.
Обратите внимание: HttpPlatformHandler поддерживает только IIS 8+. Таким образом, это означает, что для старых операционных систем, таких как Windows Server 2008 R2, которые поставляются с IIS 7.5, вы не сможете использовать IIS для размещения веб-сайтов ASP.NET 5, поскольку эта версия не поддерживает HttpPlatformHandler.
В моем проекте используется: ASP.NET Core Web Application (.NET Framework)
Это связано с тем, что я планирую использовать IIS и Windows, поэтому не нужно переходить на Core.
Я нашел эту ссылку: Установить пакет хостинга Windows Server Core.NET
Там вы найдете эту ссылку: .NET Core Windows Server Hosting
Вторая ссылка выше автоматически попытается загрузить и установить пакет "Microsoft.NET Core 1.0.0 Windows Server Hosting".
Мне нравится первая ссылка, потому что она действительно объясняет, почему она вам нужна.
Как только я установил на свой сервер, мой веб-сайт, наконец, начал работать!
Нет больше HTTP-ошибок 500.19:)
Я оставил свой app-pool как .net 4 (я сделал не, чтобы установить его в "No Managed Code" ), как говорят инструкции. Я не пробовал, но я понял, что решил использовать .NET Framework, что мне все равно понадобится.
С ASP.Net Core 1.0 вам нужно установить ASP.NET Core Module
на хост IIS. Вы можете получить его здесь.