asp.net core - Error de "puerta de enlace incorrecta" al cargar el proyecto de sitio web predeterminado aspnetcore RC2
asp.net-core .net-core-rc2 (2)
Ok, pensé en mi problema. Estoy señalando la ruta de acceso física en IIS al directorio raíz del proyecto de Visual Studio no publicado . Esto funciona en versiones anteriores de .net (es decir, proyectos API aspnet no dotnet) pero ahora no.
Si realmente desea que esto funcione, debe publicar su aplicación en una carpeta temporal y copiar los binarios de Microsoft.AspNetCore.*
En la carpeta bin/Debug/
junto con las carpetas runtimes
y runtimes
Estoy intentando ejecutar la aplicación web ASP.NET Core predeterminada (Plantilla de aplicación web en VS 2015) a través de IIS.
He seguido las instrucciones de los documentos aquí, por ej., Estableciendo un grupo de aplicaciones ''Sin código administrado'' y señalando la ruta física en la ubicación del archivo web.config
.
Cuando intento navegar a la raíz del sitio web, http://localhost
obtengo este error:
Error HTTP 502.3 - Puerta de enlace incorrecta Hubo un error de conexión al intentar enrutar la solicitud.
Causas más probables: la aplicación CGI no devolvió un conjunto válido de errores HTTP. Un servidor que actúa como proxy o puerta de enlace no puede procesar la solicitud debido a un error en una puerta de enlace principal.
El espectador del evento dice:
Error al iniciar el proceso con la línea de comando ''dotnet ./bin/Debug/netcoreapp1.0/WebApplication2.dll'', Código de error = ''0x80004005''.
Este error muestra que he reemplazado los marcadores de posición
<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%"
en web.config
con los valores requeridos
<aspNetCore processPath="dotnet" arguments="./bin/Debug/netcoreapp1.0/WebApplication2.dll"
( actualización : estos marcadores de posición se reemplazan cuando publica)
De acuerdo con las instrucciones de solución de problemas, he instalado .NET Core Windows Server Hosting Bundle
y reinicié el servidor.
Correr desde la línea de comando a través de dotnet
funciona
Preguntándose qué probar ahora.
Este es un error genérico para cuando IIS no puede encontrar los componentes de .NET Core especificados y no sabe a dónde reenviar las solicitudes. Además de seguir la guía oficial de publicación de IIS , asegúrese de tener:
- Instalé las versiones correctas de la página de descarga para las últimas versiones de .NET Core
- Especificó las versiones correctas de la biblioteca (explícitamente o con comodines) en su
project.json
.project.json
- Incluido un archivo
web.config
(preferiblemente utilizando la herramientapublish-iis
), y que los valores de la clave<aspNetCore>
han sido reemplazados por valores locales ( fuente, con ejemplos )
Me encontré con esto al configurar un sitio web Core 1.0.0 (final) en un nuevo servidor de Windows 2008. Resulta que había mezclado algunos de los instaladores de mi máquina de desarrollo con las versiones más nuevas, y que no coincidían con las versiones de la biblioteca (RC2 vs final). La reinstalación del paquete Hosting Server solucionó el problema.
La clave para la solución de problemas era ingresar a la consola y usar los comandos de dotnet
(y los mensajes de error resultantes) para repetir hasta que mi sitio se ejecutara desde la consola, ya que la página de error de IIS en el navegador era inútil. También encontré algunos beneficios en algunas entradas en el sistema de registros de errores, pero no mucho.