net dotnet asp application iis deployment visual-studio-2015 asp.net-core iis-8

dotnet - IIS implementado ASP.NET 5 BETA 8 sitio a IIS da error HTTP 500.19-Error interno del servidor



publish asp net core project to iis (4)

El modelo de alojamiento de ASP.NET 5 Beta 8 ha cambiado y ahora depende de IIS HttpPlatformHandler .

Notará su web.config en la carpeta wwwroot o su aplicación contiene referencias a ella.

<?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>

El%% DNX_PATH% anterior se traduce en ".. / approot / web.cmd"

Notas de la versión de ASP.NET BETA 8

El alojamiento de las aplicaciones ASP.NET 5 en IIS ahora se logrará utilizando IIS HttpPlatformHandler configurado para reenviar al servidor ASP.NET 5 Kestrel. HttpPlatformHandler es un módulo nativo de IIS que necesita ser instalado por un administrador en el servidor que ejecuta IIS (instaladores: x86, x64). También se incluye con la actualización de herramientas web beta8 para desarrollo local en IIS Express. Este módulo IIS nativo administra el inicio de un proceso de host de aplicación externo (en este caso dnx.exe) y el enrutamiento de solicitudes de IIS para el proceso alojado.

Puede instalar HttpPlatformHandler utilizando el instalador de Microsoft Web Platform o instaladores x86 / x64 separados en los enlaces de descarga desde el sitio de IIS de Microsoft: enlace .

Tome nota: HttpPlatformHandler solo es compatible con IIS 8 +. Esto significa que para sistemas operativos más antiguos como Windows Server 2008 R2 que viene con IIS 7.5, no podrá usar IIS para alojar sitios web ASP.NET 5 ya que esa versión no es compatible con HttpPlatformHandler.

Creé una nueva aplicación web ASP.NET5 Beta 8.

Lo publico en mi sistema de archivos local y copio esos archivos en mi servidor, que es un Windows Server 2012 R2

En IIS 8.5 en el servidor, creo una aplicación que usa un grupo de aplicaciones que usa el Modelo de proceso -> Identidad como LocalSystem.

y señalo el camino a la subcarpeta wwwroot de la aplicación copiada publicada

Mi 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>

Ejecutar la URL en el servidor directamente o hacer clic en examinar en IIS

http://localhost/WebApplication1

Obtuve el siguiente error

HTTP Error 500.19 - Error interno del servidor

No se puede acceder a la página solicitada porque los datos de configuración relacionados para la página no son válidos.

Estoy usando el web.config predeterminado de la plantilla de la aplicación web Visual Studio 2015 ASP.NET 5 Beta8, así que solo puedo pensar que es quizás la versión .net.

Usé el método MSDN para determinar qué versión de .NET 4 está instalada y corresponde a .NET Framework 4.5.1

En mi project.json tengo

"frameworks": { "dnx451": { } },

Lo compilé como Win CLR al publicar

Cuando voy a mi carpeta approot en el directorio de implementación, puedo ejecutar el servidor web.cmd y luego acceder a mi sitio web a través del puerto creado.

http://localhost:5000/

y este sitio funciona correctamente

Si veo los componentes instalados de mi servidor IIS

ASP.NET 4.5 está instalado.

El grupo de aplicaciones es correcto.

Los sitios web ASP.NET 4 se ejecutan correctamente en IIS utilizando el mismo grupo de aplicaciones

Mis preguntas 1. ¿Por qué IIS dice que web.config no es válido? 2. ¿Cómo puedo obtener un sitio ASP.NET 5 Beta 8 para ejecutar en IIS?


Mi proyecto utiliza la aplicación web ASP.NET Core (.NET Framework)
Esto se debe a que planeo usar IIS y Windows, por lo que no es necesario completar Core .

Encontré este enlace: Instale el .NET Core Windows Server Hosting Bundle
Allí encontrará este enlace: .NET Core Windows Server Hosting
El 2nd Link anterior automáticamente intentará descargar e instalar el paquete "Microsoft .NET Core 1.0.0 Windows Server Hosting".
Me gusta el 1st Link porque realmente explica por qué lo necesitas.

Una vez que instalé en mi servidor, ¡mi sitio web finalmente comenzó a funcionar!
No más de HTTP Error 500.19 :)
Dejé mi grupo de aplicaciones como .net 4 (no lo configuré como " Sin código administrado ") como dicen las instrucciones. No lo he intentado, pero pensé que desde que elegí utilizar .NET Framework, aún lo necesitaría.



Con ASP.Net Core 1.0 debe instalar ASP.NET Core Module en el host de IIS. Puedes obtenerlo aquí .

https://.com/a/38119924/1821792