viernes, 29 de noviembre de 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 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.

miércoles, 28 de agosto de 2013

Leer un documento XML añadido como recurso en un proyecto .Net

Disponer de un documento XML en los recursos de tu proyecto .Net es útil si no lo quieres hacer visible en el despliegue de la aplicación.

 

Puedes cargar dicho documento mediante las siguientes líneas:

 XmlDocument doc= new XmlDocument();
 doc.LoadXml(Properties.Resources.XMLPreguntas);

viernes, 23 de agosto de 2013

Mostrar números de línea en editor de visual studio

Por defecto en una instalación nueva de visual studio no se visualizan los números de línea en el editor.

Para mostrarlos solo deberemos ir a la opción de menú "herramientas" (tools) situado en el menú superior y seleccionar "opciones" (options).

 
Se abrirá una ventana con todas las opciones. En el árbol de la izquierda elegiremos "Editor de texto" (Text Editor) y del desplegable seleccionaremos "Todos los lenguajes" (All Languages). 
Una vez dentro en la sección display activaremos el check con la propiedad "Números de línea".

 

Ahora tendremos visibles los números de línea para todos los archivos que abramos con visual studio.
visibles los números de línea.


Error: No se puede cargar el archivo o ensamblado 'System.Web.Extensions Version=1.0.61025.0...

Error al compilar: No se puede cargar el archivo o ensamblado 'System.Web.Extensions Version=1.0.61025.0, Culture=neutral... El sistema no puede encontrar el archivo especificado.



La causa de este error es que no se puede encontrar la referencia al ensamblado indicado. Es muy posible que el equipo o servidor no tenga instalado ASP.NET AJAX 1.0.

Una vez instalado, las librerías quedarán directamente registradas en la GAC con lo que la siguiente compilación del proyecto dejará de existir el problema.

Para la instalación de ASP.NET AJAX 1.0 es necesario tener instalado: