Hay varias publicaciones sobre esto y hasta ahora he probado muchas cosas. Pero fue en vano. Yo, básicamente, un desarrollador de Winforms, comencé a trabajar en este material web hace unos días, ya que mi empresa está tomando iniciativas web.
Tengo un proyecto ASP.Net y quiero alojarlo en IIS local. En la Project properties -> Web
configuración elegí Use Local IIS Server
y di una url como localhost/MyApp
. Intenté acceder a él en mi navegador Firefox y recibí un error comoHTTP Error 503. The service is unavailable.
Anteriormente recibí muchos otros errores y los solucioné uno por uno. Pero golpeado con este. Estas son las configuraciones que tengo en mi proyecto
- Grupo de aplicaciones establecido en ASP.Net v4.0 Classic
- La
Enable 32 bit Application
propiedad del grupo de aplicaciones es verdadera - Se inicia el grupo de aplicaciones
- Propiedad de compilación del proyecto establecida
Any CPU
para Marco de destino
Pero me gustaría mencionar un comportamiento extraño. Lo siguiente es algo que estoy enfrentando
- Se inicia el grupo de aplicaciones
- Intento acceder a mi sitio web local (dando url como
localhost/MyApp
) - Recibo el error como
HTTP Error 503. The service is unavailable
- El grupo de aplicaciones está detenido
He visto el siguiente enlace y ya lo he probado. Por el comportamiento anterior llegué aquí . De acuerdo con este enlace, el nombre de la computadora no debería tenerlo .
. No tengo ninguno .
en el nombre de mi computadora, pero sí lo tengo -
. También mi nombre de dominio contiene .
. Además, no puedo cambiar esta configuración, ya que es la computadora portátil de mi oficina y nuestra configuración de TFS está vinculada a nuestros nombres de dominio y computadora.
¿Alguien puede ayudarme a entender qué está pasando? Por favor guíame. Gracias.
Editar
Tengo el siguiente código en Global.asax
. Application_BeginRequest
El método está vacío en el mismo archivo.
protected override void Application_Start(object sender, EventArgs e)
{
base.Application_Start(sender, e);
String _path = String.Concat(System.AppDomain.CurrentDomain.RelativeSearchPath, ";",
System.Environment.GetEnvironmentVariable("PATH"));
System.Environment.SetEnvironmentVariable("PATH", _path, EnvironmentVariableTarget.Process);
MyAppLog.Initialize();
MyAppLog.WriteMessage("Application Started");
}
Actualizar
Según las sugerencias en Comentario, puedo ejecutar el sitio web desde Cassini.
Enable 32 bit Application
pero está utilizando alguna DLL de solo 32 bits?Any CPU
. Así que creo que los dlls usados no deberían ser un problema. Consulte la edición del código Global.asax. GraciasRespuestas:
Una posible razón por la que esto puede suceder es que el grupo de aplicaciones en IIS está configurado para ejecutarse en alguna cuenta personalizada y esta cuenta no existe o se ha proporcionado una contraseña incorrecta o se ha cambiado la contraseña. Mire las propiedades avanzadas del grupo de aplicaciones en IIS para la cuenta que usa.
Además, el registro de eventos puede contener más información sobre por qué el grupo de aplicaciones se detiene inmediatamente en la primera solicitud.
fuente
Ok, tengo otra solución para un caso específico: si usa WINDOWS 10 y lo actualizó recientemente (con el paquete de actualización de aniversario), debe seguir los pasos a continuación:
Windows Event Viewer
- presione Win + R y escriba:,eventvwr
luego presione ENTER.Windows Event Viewer
haga clic enWindows Logs
->Application
.IIS-W3SVC-WP
en la ventana central.Control Panel
->Program and Features
y dependiendo de qué dll no se pueda cargar, necesitas reparar otro módulo:rewrite.dll
: busque el módulo 2 de reescritura de URL de IIS y haga clic enChange
->Repair
aspnetcore.dll
- encuentre Microsoft .NET Core 1.0.0 - VS 2015 Tooling ... y haga clic enChange
->Repair
.fuente
The Module DLL C:\Windows\System32\inetsrv\iis_ssi.dll failed to load. The data is the error.
así que instalé Select Server Side Incluye según esta sugerenciaPara mi situación, mi contraseña de inicio de sesión cambió, mientras que el grupo de aplicaciones todavía usa la anterior. Simplemente haga clic en "Configuración avanzada" de su grupo de aplicaciones y restablezca su "Identidad".
fuente
Estaba enfrentando el mismo problema y lo depuré usando los registros de eventos. Primero dijo que: "No se puede encontrar la descripción para el evento ID 5059 de la fuente Microsoft-Windows-WAS".
Luego encendí WAS usando funciones de activar / desactivar ventanas . Luego vi esto en eventvwr "Microsoft-Windows-DistributedCOM no se puede encontrar".
Finalmente me di por vencido y eliminé el grupo de aplicaciones (que solía dejar de acceder al sitio web) y lo volví a crear, tal como está. Esto resolvió el problema.
fuente
appcmd list site /xml | appcmd set site /[path='/'].applicationPool:YOURNEWPOOL /in
Para cualquiera que venga aquí con Windows 10 y después de actualizarlos a la actualización de aniversario, consulte este enlace, me ayudó:
https://orcharddojo.net/blog/troubleshooting-iis-apppool-crashes-status-503-after-windows-10-anniversary-update
En caso de que el enlace se caiga: si su registro de eventos muestra que aspnetcore.dll, rewrite.dll (con mayor frecuencia, pero también podrían ser otros) no se pudo cargar, debe reparar los elementos que faltan.
Aquí hay dos problemas específicos que hemos experimentado hasta ahora y cómo solucionarlos, pero puede toparse con otros completamente diferentes:
fuente
La mayoría de las veces, se produjo debido a la configuración de AppPool.
Verifique lo siguiente para resolver esto
Las siguientes imágenes muestran esta configuración en IIS
fuente
Si tiene McAfee HIPS y ve el siguiente error en el registro de la aplicación del visor de eventos:
Luego, lo siguiente resolvió el problema en mi caso: https://kc.mcafee.com/corporate/index?page=content&id=KB72677&actp=LIST
Cita de la página:
fuente
En mi caso, verifiqué los registros de eventos y encontré que el error era No se puede leer el archivo de configuración 'tratando de leer los datos de configuración del archivo' \\? \ ', Número de línea' 0 '. El campo de datos contiene el código de error.
El código de error fue 2307.
Eliminé todos los archivos en C: \ inetpub \ temp \ appPools y reinicié el iis. Se solucionó el problema.
fuente
Tuve un problema similar Lo resolví agregando mi usuario a la política "Iniciar sesión como trabajo por lotes" en "Política de seguridad local"> "Políticas locales"> "Asignación de derechos de usuario".
fuente
La primera vez que agregué el servicio y creé el grupo de aplicaciones para él. Hice "iisreset" desde el símbolo del sistema, y funcionó.
fuente
Si puede ejecutar el sitio web en el depurador de Visual Studio, entonces podría ver en qué parte del código se bloquea el grupo de aplicaciones. En mi caso, era una función que se llamaba recursivamente un número ilimitado de veces, y eso causaba un desbordamiento de la pila. Nota: el registro de eventos de Windows y los registros de IIS no fueron útiles para diagnosticar el problema.
fuente
Tuve el mismo problema con iis 8.5. Después de buscar el EventViewer en Windows Logs -> aplicaciones, me di cuenta de que tengo un error de permiso para el archivo machine.config del marco .net ubicado en "C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Config \ machine.config ". Darle un permiso para IIS_IUSRS resolvió mi problema (haga clic derecho en el archivo -> propiedades -> seguridad -> editar -> agregar -> IIS_IUSRS)
fuente
Estaba experimentando este error y en mi caso la causa fue que hace algún tiempo modifiqué la contraseña del usuario, y el error 503 no apareció hasta que reinicié el grupo de aplicaciones.
Así que lo arreglé configurando la nueva contraseña en Grupos de aplicaciones / Configuración avanzada / Identidad / [...] / Establecer ... / Contraseña / Confirmar contraseña
fuente
Tuve un problema similar, todos mis grupos de aplicaciones se detenían cada vez que se les hacía una solicitud web. Aunque recibía el siguiente error en el Visor de eventos:
Lo que me dijo que había errores en la aplicación.config en:
En mi escenario, edité el web.config en la implementación con un elemento que claramente no le gusta a IIS, la aplicación Host.config raspó el web.config e insertó este elemento defectuoso y no se resolvió hasta que lo elimine manualmente
fuente
Además de los pasos descritos en este enlace de la respuesta de Orhan , es posible que deba eliminar adicionalmente el módulo nativo yendo al Administrador IIS> Raíz del servidor> Módulos> Configurar módulos nativos. Seleccione MfeEngine y luego seleccione Eliminar.
fuente
Cambiar "Modo de canalización administrado" de "Clásico" a "Integrado" funcionó para mí. Se puede cambiar en Grupos de aplicaciones -> Configuración básica
fuente
Sólo para añadir a estas
Anniversary Update
cuestiones (gracias Microsoft) si el archivo se echa en falta escgi.dll
, por ejemplo, suEvent Viewer
cuentaEntonces para arreglar esto:
IIS Manager
Connections
panel (generalmente el nombre de su PC)Management
, debería tenerWeb Platform Installer
Products
cgi
luego presione<Enter>
IIS: CGI
luego haga clicAdd
a la derecha y finalmenteInstall
en la parte inferiorfuente