System.Web.HttpException en Internet Information Services
Este artículo le ayuda a resolver lo que ocurre cuando una aplicación se ejecuta en modo de canalización System.Web.HttpException integrada y proporciona una resolución.
Versión del producto original: Internet Information Services 7.0 y versiones posteriores
Número KB original: 2605401
Síntomas
Imagine la siguiente situación:
- Ejecute una aplicación web configurada para usar la canalización integrada en un servidor web Microsoft Internet Information Services (IIS) 7.0 o versiones posteriores.
- La aplicación usa un filtro ISAPI registrado para el
SF_NOTIFY_AUTHENTICATIONevento. - Global.asax de la aplicación implementa el
Application_BeginRequestevento.
En estas condiciones, puede producirse esta excepción:
System.Web.HttpException: esta variable de servidor no se puede modificar durante la ejecución de la solicitud.
Causa
Este comportamiento es una característica del diseño de la aplicación.
Cuando IIS llama al filtro ISAPI para el SF_NOTIFY_AUTHENTICATION evento, actualiza la AUTH_USER variable de servidor. Dado que la aplicación está configurada para usar la canalización integrada, ASP.NET busca cambios en las variables de servidor. AUTH_USERes una de las variables que no se espera que cambien y, por lo tanto, ASP.NET la excepción anterior.
Esta excepción no se producirá si el grupo de aplicaciones se ejecuta en modo clásico en lugar del modo canalización integrada.
Solución
Cualquiera de los métodos siguientes evita esta excepción:
- Configure el grupo de aplicaciones para que se ejecute en modo clásico en lugar del modo canalización integrada.
- Use módulos http nativos o administrados para controlar las notificaciones de autenticación.
Más información
Para obtener más información, vea Develop a Native C\C++ Module for IIS 7.0.