session_end net globales extension example crear como asp asax archivo abrir asp.net .net iis url-rewriting global-asax

asp.net - net - Global.asax Application_BeginRequest no se activa a menos que exista archivo físico-404



web config asp net (2)

Uso la reescritura de URL ( HttpContext.Current.RewritePath(...) ) dentro de Global.asax, por lo que los archivos físicos en su mayoría no existen. Todo funcionaba bien hasta que tuve que eliminar el sitio de IIS (8.5) y volver a agregarlo.

Y ahora recibo 404 no encontrado para cada solicitud. Ejemplo http://localhost/site/article123 Y el evento Global.asax Application_BeginRequest ni siquiera se activa.

Sin embargo, si agrego el archivo vacío default.aspx en la carpeta /site/article123 todo comienza a funcionar bien con la URL reescrita correctamente.

Los archivos no han cambiado, por lo que debería ser el problema con la configuración de IIS.

Tengo seguidores dentro de web.config:
<modules runAllManagedModulesForAllRequests="true">

Proyecto en IIS se establece como una aplicación con Application Pool .NET v2.0 Classic

Editar:
La misma historia en IIS 8.0


Necesita tener el Módulo ReWrite instalado bajo IIS 8.5

Use Web Installer Platform para instalarlo.


El problema estaba en el modo Managed Pipeline Mode establecido como classic . Cambiar de classic a integrated cambiando el grupo de aplicaciones de .NET v2.0 Classic a .NET v2.0 resolvió el problema.

Según entendí esto: en classic modo classic , IIS está gestionando las solicitudes, mientras que en el modo intergated , las solicitudes IIS entrantes se asignan al motor ASP.NET.

Más sobre los modos de canalización: ¿Cuál es la diferencia entre el modo de canalización "clásico" e "integrado" en IIS7?