Desarrollo de aplicaciones ASP NET y Reporting Services con Visual Studio 2008 sobre Windows Vista 

Tags: ASPNET 3.5, IIS7

¡Microsoft lanza IIS 7, con nuevas y mejoradas características! Hasta aquí todo muy bonito, pero también trae asociados problemas para los desarrolladores Web que están acostumbrados a trabajar con el “antiguo” IIS 6.

IIS 7 incorpora multitud de novedades, tanto a nivel de funcionamiento interno como a nivel de interfaz de usuario para administrarlo. Este post no pretende describir todos los cambios que ha habido en IIS 7, sino simplemente describir cómo hay que configurarlo para que nos permita hacer, básicamente, las cosas que hacíamos con ASPNET 2.0 sobre IIS 6. Además, describiremos también cómo configurar IIS 7 para el correcto funcionamiento de Reporting Services 2008.

Descarga e instalación de IIS 7

IIS 7 viene instalado por defecto en Windows Vista, únicamente tendremos que habilitar las características que deseemos utilizar.  Si aún no tenéis instalado el IIS 7.0 Manager for Remote Administration, podéis descargarlo aquí.

Para cualquier otra descarga adicional podéis ir al sitio oficial de IIS 7, donde encontrareis una buena cantidad de utilidades muy interesantes.

Configuración de IIS 7 para desarrollo de aplicaciones Web

Para activar o desactivar características de IIS 7 debemos ir a Inicio -> Panel de Control -> Programas. En la barra de la izquierda encontraremos una opción para Activar o desactivar las características de Windows.

Caracterísiticas Windows 

Una vez ahí, debemos buscar la configuración de IIS 7, y seleccionar las opciones siguientes:

Opciones IIS 

Con esta configuración ya estamos preparados para poder desarrollar y desplegar aplicaciones ASP NET en nuestra máquina, así como para migrar aplicaciones Web que hubiésemos desarrollado anteriormente.

Creación de una nueva Aplicación Web en Visual Studio 2008 y almacenarla en IIS

Lo primero que haremos para crear nuestra nueva aplicación, es crear una Aplicación en IIS 7 sobre la cual vamos a desplegarla. En este ejemplo haremos que el directorio virtual coincida con el directorio físico sobre el cual se va a desarrollar la aplicación.

Para ello nos iremos a la consola de administración de IIS 7, almacenada en Inicio -> Panel de Control -> Herramientas administrativas:

Consola IIS 

 

Veremos que nos aparece una consola bastante diferente a la que existía en IIS 6, que tendrá un aspecto parecido a este:

Consola IIS 

En primer lugar crearemos físicamente un directorio donde vamos a almacenar nuestra Aplicación Web. En este caso dicho directorio tendrá la ruta C:\Proyectos\Tests\RenaWebApp.

Una vez creado, añadiremos en IIS una nueva Aplicación que apunte al directorio que acabamos de crear:

Opciones consola IIS 

Aplicación Web 

En este caso hemos dejado el Pool de Aplicaciones que existe por defecto (DefaultAppPool), aunque esto ya es a gusto del consumidor, ya que IIS 7 sobre Vista nos permite crear más de un Pool de Aplicaciones y más de un Sitio Web en nuestra máquina local. Simplemente se ha hecho así para mantener el “estilo” de IIS 6 sobre Windows XP.

Una vez creada la Aplicación en IIS, iremos a Visual Studio 2008 para crear el proyecto Web en sí. Para crear una nueva Aplicación Web en Visual Studio 2008 y almacenarla en IIS, lo primero que debemos hacer es abrirlo en modo Administrador. De otra forma el entorno no nos permitirá alojar nuestra aplicación en IIS (cuestión de “seguridad”, que cada uno se haga su propia opinión al respecto)…

 

Después, de manera similar a lo que se hacía desde Visual Studio 2005, crearemos un nuevo Web Site:

 

A la hora de decidir dónde alojar el Web Site, indicaremos que lo vamos a almacenar en la aplicación de IIS que acabamos de crear:

 

Bueno, y básicamente con esto ya está. Si ejecutamos el proyecto y todo se ha creado correctamente, se abrirá un nuevo explorador con la ruta http://localhost/RenaWepApp/Default.aspx.

Como veis, a grandes rasgos el proceso es muy parecido al que se sigue para desarrollos en ASP NET 2.0 sobre IIS 6 y Windows XP. Lo único que cambia son algunos pequeños detalles de la configuración de IIS que no vienen activados por defecto, y que te pueden dar algún que otro dolor de cabeza hasta que das con el problema.

Eso sí. Como ya he mencionado al inicio de este post, IIS 7 ofrece muchas nuevas características, incluyendo una mayor extensibilidad de los módulos que lo componen, con lo cual creo que merece la pena tomarse un poco de tiempo en echarle un vistazo.

 

Posibles problemas al intentar acceder a vuestra aplicación Web desde otra máquina

Una vez que hemos montado la aplicación web en nuestra máquina local, podemos encontrarnos con la desagradable sorpresa de que no podemos acceder a ella desde una máquina externa.

Hay un par de pruebas básicas que yo haría, puesto que en Windows Vista también se han modificado algunas de las configuraciones por defecto respecto a Windows XP:

1)      Comprobar que el firewall de Windows no está impidiendo el acceso a nuestra máquina. Sé que puede sonar muy tonto, pero antes el puerto 80 no quedaba bloqueado por defecto con el firewall de Windows, y ahora parece ser que Microsoft ha decidido cambiar la política.

2)      Modificar el Pool sobre el que se ejecuta nuestra aplicación. IIS 7 implementa nuevos modelos de seguridad con respecto a IIS 6. En concreto, si no lo hemos modificado, el pool DefaultAppPool está configurado con el modelo de seguridad “Integrado”. No voy a entrar a explicar en qué consiste este nuevo modelo. Simplemente comentar que si queremos que el funcionamiento sea totalmente similar al de IIS 6, podemos utilizar el Pool “Classic .NET App Pool” que también nos aparece en la consola de administración de IIS 7:

 

 

Modificar el Pool sobre el que se está ejecutando nuestra aplicación es muy sencillo. Bastaría con acceder a las propiedades avanzadas de la Aplicación en IIS, y buscar el Pool que queremos utilizar:

 

 

 

 

Configuración adicional de IIS 7 (necesaria para el correcto funcionamiento de Reporting Services)

 

Si además de desarrollar aplicaciones Web “tradicionales” también queréis usar Reporting Services, tendréis que activar algunas opciones más en la configuración de IIS.

En cualquier caso yo os recomiendo que las activéis uséis o no Reporting, a no ser que tengáis algún motivo para no hacerlo, ya que al fin y al cabo son características bastante comunes en aplicaciones ASP NET.

Adjunto un pantallazo con todo lo que debería estar seleccionado:

 

 

Links de interés

Para terminar os dejo algunos links que os pueden resultar de utilidad:

 

http://www.iis.net/ (Sitio oficial de IIS)

http://support.microsoft.com/kb/934164 (Using Visual Studio 2008 with IIS 7.0)

http://support.microsoft.com/kb/934164 (cómo instalar Reporting Services 2005 en Vista)

 
Publicado por Jorge Onieva Onieva en 5-Feb-09
1 Comentarios  |  Trackback Url |        
 

Comentarios


Mario cortés comentado en Friday, 6-Feb-2009
Muy buena introducción al desarrollo sobre IIS7

Nombre:
URL:
Email:
Comentarios:
CAPTCHA Image Validation


Clicky Web Analytics