2008-10-14 15 views
7

Estoy tratando de ejecutar una aplicación ASP.NET 2.0 en una máquina XP. Hasta donde yo sé, todo está configurado correctamente. Sin embargo, aparece el siguiente mensaje:¿Por qué está fallando ASP.NET debido a permisos en GAC?

Server Application Unavailable

Y dos eventos aparecen en el evento de registro de aplicación cada vez:

aspnet_wp.exe (PID: 3352) stopped unexpectedly.

Failed to execute the request because the ASP.NET process identity does not have read permissions to the global assembly cache. Error: 0x80070005 Access is denied.

Anteriormente, las aplicaciones ASP.NET funcionó bien en esta máquina.

He probado los siguientes pasos, sin suerte:

  • he concedido permisos de lectura en el directorio de sitio de la casa a la cuenta ASPNET
  • He reinstalado ASP.NET 2.0 utilizando aspnet_regiis -i
  • he concedido permisos a la cuenta ASPNET usando aspnet_regiis -ga < mi nombre de la máquina > \ ASPNET
  • he concedido permisos de lectura del GAC a la cuenta ASPNET usando CACLS% windir% \ assembly/e/t/p < mi nombre de la máquina > \ ASPNET: R
  • lo he instalado la versión de ASP.NET para que el sitio dentro de IIS 2.0

No estoy seguro de qué otra cosa puedo hacer!


Usando el monitor de procesos me llevó directamente al problema. Muchas gracias a Mun por la propina.

Fue toda una cuestión oscura: me había usado previamente el visor de registro (Fuslogvw.exe) enlace de ensamblado y configurarlo para registrar todos los une en el disco utilizando la opción de ruta personalizada. Sin embargo, la cuenta ASPNET no tenía permisos para esa ruta personalizada. Por lo tanto, volver a utilizar la ruta predeterminada resolvió el problema. Conceder permisos de lectura/escritura en esa ruta personalizada a la cuenta ASPNET también funciona, al igual que deshabilitar el registro de enlace.

Respuesta

2

También puede encontrar útil para Process Monitor solución de problemas de este tipo de problemas. Si configura un filtro para mostrar toda la actividad que contiene aspnet_wp.exe, debe mostrarle los archivos a los que intenta acceder, lo que le permite actualizar los permisos en consecuencia.

0

Solíamos tener este problema con ASP.NET porque cuando Visual Studio creó su copia temporal de los montajes del servicio de indexación sería iniciar la exploración en busca de virus, y esto podría causar ocasionalmente un 'acceso denegado' mensaje porque el depurador haría tratar de abrir un archivo compartido. Decirle al servicio de indexación que no indexe el directorio de ensamblajes de temperatura resolvió el problema.

1

Sé que es demasiado tarde para responder a esto. También tuve este mismo problema hoy.Me encontré con el siguiente en el símbolo del sistema y se ha solucionado el problema

aspnet_regiis -ga machinename\ASPNET 
0

Esto resolvió el problema para mí, pensé que sería buena idea compartir:

Si esto es para IIS 5.1 (básicamente, versiones arcaicas de IIS) haga clic derecho en su directorio virtual (desde inetmgr) y vaya a 'Todas las tareas'> 'Asistente de permisos' Elija la opción de 'Seleccionar nueva configuración de seguridad de una plantilla', luego seleccione Sitio web público.

Cuestiones relacionadas