Archivo por días: 27 noviembre, 2013

Handler axd funciona correctamente en local pero no funciona en el servidor

Tengo una librería MSCaptcha que funciona correctamente en local pero al subir al servidor no funciona correctamente.

El problema surge de que IIS7 introdujo dos condiciones previas denominadas «integratedMode» y «classicMode«. Un handler que tiene una precondition «integratedMode« asociado a él sólo se puede cargar en un grupo de aplicaciones que tiene el «integratedMode« establecido en el conjunto de propiedades en la ApplicationPool. Handlers con la precondition «classicMode« sólo se cargarán en Grupos de aplicaciones que tienen la propiedad integratedMode establecida en falso.

En mi servidor local el pool de aplicaciones está en modo integrado con lo que la librería MSCaptcha funciona correctament pero en el servidor de producción está en modo clásico.

Para solucionarlo sin tener que cambiar configuraciones de servidor se puede establecer en el web.config una directiva para que el handler cargue con la configuración que decidamos.

En mi caso particular será:


<add name="MSCaptcha" verb="GET" path="CaptchaImage.axd" type="MSCaptcha.CaptchaImageHandler, MSCaptcha" preCondition="integratedMode"/>

De está forma he logrado que mi captcha se visualiza en el servidor.