También se confundían voces estridentes y melodías de orquestas clásicas acompañadas por instrumentos electrónicos. Todo parecía perderse en la conspiración del caos... (Arturo Azuela, El Matemático)

Pesadilla en una tarde de verano: IIS7 y los módulos HTTP

Julio 16th, 2010 Archivado en Desarrollo web, Internet, Tecnologías .NET | Sin comentarios »

Internet Information Services 7

Tienes una aplicación web ASP.NET que lleva tiempo funcionando sin problemas. La desarrollaste en Windows XP con Visual Studio 2005. Hacías las pruebas en local con la versión 5 del IIS, la que viene con el XP Professional, o con el servidor de desarrollo de Visual Studio (Cassini), y en producción tenías un Windows Server 2003 con la versión 6 del IIS. Todo iba como la seda.

Salió el Visual Studio 2008 y, a la primera oportunidad, te subiste al carro de la modernidad. Y, luego de algunos pequeños ajustes, como adaptar el proyecto a la nueva versión de Crystal Reports, todo seguía como la seda.
 
Pero como en esta vida también hace falta emoción y suspense, la seda dejó de ser lo que era. Los Reyes Magos te trajeron un nuevo ordenador con Vista o Windows 7, o cambiaste el plan de alojamiento del sitio web y ahora tienes Windows Server 2008 en producción. Ambas situaciones tienen un factor común: se llama Internet Information Services 7.
 
De pronto la aplicación dejó de funcionar. La que cambió su entorno de ejecución de IIS5/6 a IIS7. Si el problema lo tienes en local, quizás dispones de un tiempo generoso para solucionarlo, pero si el problema surgió con el cambio de plan de alojamiento, ahora el tiempo es tu mayor enemigo. Bueno, el tiempo y el dueño de la web caída.
 
La pregunta es trivial, pero no deja de martillarte tu masa encefálica: ¿qué ha pasado con la web? Miras el código, analizas la arquitectura, ejecutas la aplicación repetidamente… y por fin descubres que el servidor no entiende las URLs que le escribes porque el responsable de procesarlas, el módulo HTTP de reescritura de URLs, ha muerto, ha dejado de existir.

¿Qué ha pasado? Que el IIS7 ha cambiado muchas cosas en su modo de trabajar en relación con versiones anteriores. Mantiene, por compatibilidad hacia atrás, la manera de trabajar antigua, ahora conocida como Modo Clásico, e incorpora una nueva forma de hacer las cosas, que han denominado Modo Integrado. Cuando configuras un nuevo sitio web, el modo de trabajo por defecto es el Integrado. Y si este nuevo sitio web es en realidad una web antigua de ASP.NET, es muy probable que algunas cosas dejen de funcionar, como, por ejemplo, los módulos HTTP.

En el Modo Integrado se ha modificado la manera de registrar los módulos HTTP mediante el archivo web.config. En versiones anteriores del IIS, estos módulos se registraban en la sección <system.web>/<httpModules>. En el Modo Integrado de la versión 7 se registran en la sección <system.webServer>/<modules> del archivo web.config.

Por ejemplo, si has programado el módulo “MiModulo“, el archivo web.config quedaría así:

En versiones anteriores del IIS

<configuration>
  <system.web>
    <httpModules>
      <add name=”MiModulo” type=”MiModulo”/>
     </httpModules>
  </system.web>
</configuration>

En el Modo Integrado del IIS7

<configuration>
  <system.webServer>
    <modules>
      <add name=”MiModulo” type=”MiModulo”/>
    </modules>
  </system.webServer>
</configuration>

Tienes la opción de dejar las cosas como estaban, y configurar el sitio web para que se ejecute en el Modo Clásico, pero de esta manera estarías renunciando a las nuevas posibilidades que aporta la última versión del IIS.

Por otra parte, si desarrollas sobre WIndows XP y necesitas un IIS7 local para hacer las pruebas y empezar a utilizar los nuevos recursos, ya es posible hacerlo. Microsoft acaba de lanzar una nueva versión del Internet Information Server llamada IIS Developer Express, que forma parte de  WebMatrix. Este nuevo servidor trabaja con VS2010 y Visual Web Developer 2010 Express, se ejecuta sobre Windows XP y sistemas superiores, y no necesita una cuenta de administrador. IIS Developer Express mantiene las mejores características de Cassini (el servidor de desarrollo de Visual Studio) y del IIS7.  Además, es gratis. ;-)

Enlaces de interés:

Tutorial: Crear y registrar un módulo HTTP personalizado
http://msdn.microsoft.com/es-es/library/ms227673.aspx 
 
HttpModule and HttpHandler sections in IIS 7 web.config files
http://www.west-wind.com/Weblog/posts/168221.aspx 
 
ASP.NET Integration With IIS 7
http://learn.iis.net/page.aspx/243/aspnet-integration-with-iis-7/

Registering Custom HttpModule in IIS7 Web.config
http://elijahmanor.com/webdevdotnet/post/Registering-Custom-HttpModule-in-IIS7-Webconfig.aspx
 
ASP.NET 2.0 Breaking Changes on IIS 7.0
http://learn.iis.net/page.aspx/381/aspnet-20-breaking-changes-on-iis-70/ 
 
URL Rewriting in ASP.NET
http://msdn.microsoft.com/en-us/library/ms972974.aspx
 
Introducing IIS Express
http://weblogs.asp.net/scottgu/archive/2010/06/28/introducing-iis-express.aspx

Explore el servidor web de Windows Vista y más allá
http://msdn.microsoft.com/es-es/magazine/cc163453.aspx

Introducción a IIS 7.0
http://technet.microsoft.com/es-es/magazine/2008.03.iis7.aspx

Publicidad


Becas de producción Audiovisual y Musical para Jóvenes Creadores

Junio 8th, 2010 Archivado en Otros | Sin comentarios »

¿Tienes menos de 35 años y vives en España? ¿Tienes entre manos un proyecto de creación experimental audiovisual? ¿QUIERES UNA BECA PARA LLEVARLO A CABO? Sigue leyendo. Te interesa.

El Instituto Universitario del Audiovisual (IUA) de la Universidad Pompeu Fabra y la Fundación Phonos promueven la producción audiovisual y musical experimental basada en las tecnologías digitales. En esta línea, convocan anualmente unas becas de creación audiovisual y musical para proyectos audiovisuales o musicales dirigidas a nuevos creadores.

El objetivo de las becas de creación audiovisual y musical es promover la producción experimental audiovisual (vídeo-arte, animación, interactivos en línea y fuera de línea…) y musical (música electroacústica, mixta, electrónica…) con la ayuda de sistemas informáticos de generación o de postproducción de imágenes o de sonidos.

Leer más... Leer el resto de esta entrada »

Publicidad


Cómo encender el teléfono en Windows Mobile con C#

Febrero 25th, 2010 Archivado en Movilidad, Tecnologías .NET | 2 Comentarios »

encender-telefono

Recientemente un cliente me pidió, como parte de los requerimientos del proyecto, que para realizar ciertas acciones en su aplicación de Windows Mobile se encendiera y apagara el teléfono automáticamente, sin que el usuario tuviera que intervenir. Concretamente, la aplicación tiene que abrir una conexión de datos GPRS, conectarse a un webservice situado en un servidor de Internet, e intercambiar cierta información con éste. El teléfono no se utiliza para comunicaciones de voz, sólo de datos.

Como era una tarea que nunca antes había realizado, tuve que recurrir a Google para intentar encontrar la solución, alguna solución cercana, a alguna pista que me llevara hacia ella. Pronto la decepción se apropió de mí. Por más que buscaba y buscaba cómo encender el teléfono de Windows Mobile con C#, no encontraba nada, a pesar de que la búsqueda la realizaba en Inglés, el idioma más extendido en la red.

Sin embargo, aunque lentamente, poco a poco me fui acercando a la solución. La causa de la falta de respuestas era que no estaba escribiendo la pregunta correcta. Para un usuario común puede que la frase “encender el teléfono” le resultara natural, pero en términos más técnicos el enfoque correcto es “encender la radio del dispositivo móvil”. Y en Inglés. Algo así como: turn radio on and off windows mobile c#. Aunque en este contexto existen otros posibles sinónimos de turn, como switch o toggle.

Leer más... Leer el resto de esta entrada »

Publicidad


Seminarios web de Google AdSense

Octubre 16th, 2009 Archivado en Eventos, Internet | Sin comentarios »

Google

El equipo de Google AdSense acaba de enviar el mensaje que copio más abajo. Tanto si eres usuario de este servicio como si piensas utilizarlo en un futuro próximo, puede que sea de tu interés.

Hola,

Estamos encantados de anunciar los seminarios web planeados para los próximos meses. Puedes registrarte en
https://www.google.com/adsense/support/bin/answer.py?answer=22045&sct=20091014-414.

Seminarios web:
- Optimización avanzada
- Consejos de optimización para diarios online
- Analytics aplicado a AdSense
- Consejos de optimización para foros
- Consejos de optimización para sitios de e-commerce

Para más información sobre el contenido y las fechas, por favor visita el calendario de seminarios web de AdSense,
https://www.google.com/adsense/support/bin/answer.py?answer=22045&sct=20091014-414.

Las plazas son limitadas, así que ¡regístrate hoy!

Un saludo,

El equipo de AdSense

Bing Visual Search, nueva apuesta de Microsoft para las búsquedas en Internet

Septiembre 16th, 2009 Archivado en Internet | Sin comentarios »

Leo en El mundo y en Genbeta que Microsoft ha sacado una versión beta de su nuevo servicio Bing Visual Search, una manera diferente de realizar búsquedas. Por ahora, el servicio sólo está disponible en Estados Unidos, por lo que si vas a www.bing.com/visualsearch desde un país diferente no podrás verlo en acción. Para eso deberás “engañar” al buscador Bing y decirle que estás en USA. Arriba, hacia la derecha, está el enlace para cambiar de país.

Una vez que realices el cambio y vuelvas a entrar en www.bing.com/visualsearch, el buscador te mostrará una página como esta:

Bing Visual Search

Visual Search utiliza Silverlight para presentarnos una interfaz RIA (Rich Internet Application), por lo que intuyo que este servicio será utilizado por Microsoft como Killer Application para favorecer la entrada de Silverlight en la mayor cantidad posible de ordenadores, como parte de su estrategia de competencia frente a Adobe Flex (Flash).

Leer más... Leer el resto de esta entrada »