ASP .NET
en Windows XP Home
[Desarrollar ASP .NET desde Visual Studio en sistemas con
Windows XP Home, que carece de Internet Information Services - IIS ]
(Publicado en la
web de
El Guille)
1.
Desarrollar ASP .NET
desde VISUAL STUDIO en WINDOWS XP HOME
Entre las diversas posibilidades que existen para desarrollar ASP .NET, la que lo hace más sencillo es usar el entorno de desarrollo integrado de Microsoft para la plataforma .NET, Visual Studio .NET (excelente ejemplo de entorno RAD - Rapid application development - Desarrollo rápido de aplicaciones). De esta manera, dispones de todas las ventajas de este entorno:
Al trabajar en una aplicación web, los archivos que aparecen en la carpeta de la aplicación difieren, dependiendo de si trabajas desde Visual Studio o fuera de él. Por ello, a la hora de compilar y colocar en el servidor una aplicación ASP .NET, hay que distinguir 2 situaciones diferentes:
Por ello, la directiva @ Page de las páginas aspx es distinta en cada uno de los 2 casos:
Así es como debe ser configurado al colocar las páginas en el servidor
web:
<%@ Page Language="vb"
Inherits="clase1" Src="clases.aspx.vb" %>
(aquí la página aspx hereda la clase clase1, descrita en el
archivo clases.aspx.vb
, que es compilado en tiempo de ejecución)
Pero Visual Studio
.NET solamente permite el desarrollo de aplicaciones web ASP .NET si
está instalado IIS - Internet Information Services, al que utiliza
para probar la aplicación cuando se pulsa Ejecutar.
Por defecto, Windows XP Home
no permite la instalación de componentes de IIS entre los que se
cuentan un servidor web, un servidor ftp, etc. Solamente
Windows XP Profesional
tiene esa capacidad dentro de la familia XP.
Pero, en ocasiones, un poseedor de Windows XP Home quiere desarrollar aplicaciones
web ASP .NET. En tales casos, éstas son las opciones:
En realidad, para
programar en ASP .NET sólo hace falta un editor de texto y compilar las aplicaciones
desde línea de comandos (aquí),
recurriendo a cualquier otro servidor web distinto de IIS.
O, de una manera mucho más cómoda que con un editor de texto, pero sin acercarse
a la facilidad de programación que nos proporciona Visual Studio .NET, usando
ASP.NET WebMatrix de Microsoft, una herramienta de desarrollo de aplicaciones
ASP .NET, gratuita, con entorno gráfico WYSIWYG, coloreado y formateado
de sintaxis, visión de las páginas aspx como diseño o como HTML
y, lo que más tiene que ver con el tema que nos ocupa, su propio servidor web interno
para probar las páginas. El principal inconveniente de WebMatrix respecto
a Visual Studio .NET es la ausencia de IntelliSense y de gestión integrada
de proyectos completos, además de que su interfaz no está traducida al castellano.
2. Servidores web alternativos: CASSINI PERSONAL WEB SERVER
Como ya se ha comentado, si decides desarrollar ASP .NET desde Windows
XP Home sin IIS, puedes usar servidores web distintos de IIS pero
Visual Studio .NET solamente reconoce a IIS por lo que no podrás desarrollar
ASP .NET desde el IDE de Visual Studio .NET.
Esto va a cambiar en la próxima versión de .NET, de sobrenombre Whidbey,
que lleva incorporado un servidor web interno llamado Venus, lo que posibilitará
la creación de aplicaciones web desde Visual Studio sin necesidad de tener servidor
web instalado en el PC.
Venus es en realidad una actualización de un servidor web personal existente
actualmente como parte integrante del proyecto WebMatrix, llamado Cassini
Personal Web Server. No parece aventurado suponer el origen del nombre Venus
ya que el nombre de código del proyecto WebMatrix fue Saturn y Giovanni
Domenico Cassini (1625-1712) fue un astrónomo, primer director del Real Observatorio
Astronómico de París, que descubrió 4 de las lunas (satélites) de Saturno, por lo
que Venus no hace sino proseguir en esa línea de nomenclatura.
Dejando a un lado al archiconocido servidor web Apache, muy utilizado en Internet, libre y gratuito, con versiones para multitud de plataformas, perfectamente válido para cualquier tarea relacionada con Internet incluso a nivel profesional, del que existen miles de sitios con documentación, trucos y ayudas, aparte del sitio oficial de la Apache Software Foundation, por lo que no merece la pena nombrar aquí ni sus características ni las modalidades de instalación o configuración, voy a referirme al servidor web personal Cassini.
CASSINI PERSONAL WEB SERVER
ASP.NET Cassini Web Server es un proyecto de servidor web personal, libre y gratuito, que forma parte del proyecto WebMatrix. En realidad, comenzó más como un ejercicio de programación, escrito enteramente en C#, para ilustrar el uso de las clases disponibles en el Microsoft .NET Framework para alojamiento web (System.Web.Hosting). Su uso requiere Windows Server 2003, Windows 2000 o Windows XP así como el Microsoft .NET Framework.
Estos son algunos consejos acerca de su instalación y uso (verdaderamente sencillos y, sin embargo, al disponer del código fuente en C# del programa, encierran muchas enseñanzas:

3. ¿Es posible INSTALAR IIS en XP HOME?
La necesidad de instalar
y usar IIS surge al comenzar a escribir
proyectos web (ASP .NET) desde
Visual Studio .NET
y encontrar la necesidad de tener IIS instalado en el sistema (no basta con
tener "cualquier otro" servidor web, por ejemplo Apache, Cassini...,
ha de ser IIS de Microsoft).
Buscando por Internet se encuentra ayuda muy útil sobre este asunto. Aunque "oficialmente"
la instalación de IIS en Windows XP Home no está soportada, sí es
posible realizarla. El método propuesto en los sitios consultados es básicamente
el mismo, y se comenta más abajo.
Como Windows XP Home trata la seguridad de carpetas y archivos de manera
diferente a Windows XP Profesional, suelen surgir problemas, una vez instalado
IIS, con los permisos requeridos para mostrar la página de inicio o con los
permisos de modificación (escritura) de los archivos del sitio web local; también
se comenta la forma de solucionar estos inconvenientes.
NOTA LEGAL:
las modificaciones
propuestas en los apartados siguientes pueden dar lugar a la invalidación del
Contrato de Licencia para el Usuario Final (CLUF) de Microsoft Windows
XP Home. El CLUF o EULA (End-User License Agreement -
Acuerdo de Licencia para el Usuario Final) es el tipo de licencia usada en
la mayoría del software comercial, incluidos los sistemas operativos de Microsoft.
El EULA o CLUF es el contrato legal entre el fabricante o autor y
el usuario final de una aplicación de software. El EULA o CLUF detalla
cómo puede y no puede ser usado el software y las restricciones que impone el fabricante
o autor del software.
El uso de una parte del sistema operativo Windows 2000 en un sistema con
Windows XP Home puede incumplir algunas de esas restricciones, al tratarse
de un uso no autorizado expresamente por Microsoft.
NOTA TÉCNICA: no siempre es posible hacer funcionar correctamente IIS en Windows XP Home, y una instalación de IIS que funciona bien en Windows XP Home puede estropearse despues de instalar el Service Pack 2 de Windows XP. Has de tener en cuenta que todo lo que se explica en este tutorial es infinitamente más sencillo y con todas las garantías de buen funcionamiento en Windows 2000 Profesional o en Windows XP Profesional y, por supuesto, en la familia de servidores (Windows 2000 Server o Windows 2003 Server).
4. Instalar IIS de WINDOWS 2000 en WINDOWS XP HOME
Para probar si todo está bien, dirige tu navegador
a la dirección web de la máquina local, puede ser cualquiera de éstas:
http://localhost
http://127.0.0.1
http://nombre_de_máquina
Recuerda que, si usas
cortafuegos o estás detrás de un router en modo
multipuesto, has de abrir el puerto 80
(servidor web) si deseas que el servicio funcione adecuadamente.
5. Instalar IIS después de instalar VISUAL STUDIO .NET
Si instalas IIS después de haber instalado Visual Studio .NET (cosa bastante habitual en usuarios de Windows XP Home, que suelen probar a desarrollar ASP .NET cuando ya tienen instalado Visual Studio .NET), aparece un error al crear un nuevo proyecto web en Visual Studio .NET del tipo "no existe o no funciona el servicio ASP .NET..." (o algún texto similar). Para solucionarlo, has de ejecutar desde una ventana de comandos:
C:\WINDOWS\Microsoft.NET\Framework\vx.x.xxxx\aspnet_regiis.exe
/i
y además
regsvr32 "%windir%\Microsoft.NET\Framework\vx.x.xxxx\aspnet_isapi.dll"
(donde vx.x.xxxx, substituyendo las x por números, equivale a la
versión de .NET Framework instalada)
Con esa orden se reinstala y reinicia el servidor ASP .NET (este comando instala la versión de ASP .NET asociada a la herramienta aspnet_regiis.exe y actualiza las asignaciones de secuencias de comandos de todas las aplicaciones ASP .NET existentes. Ten en cuenta que sólo se ven afectadas las aplicaciones que, en la actualidad, tienen una versión anterior de ASP .NET asignada) y debería permitir la creación de proyectos web en Visual Studio .NET. También se realiza el registro correcto del fichero que se encarga de los filtros ISAPI.
Esto sólo es necesario si has instalado IIS cuando ya tienes instalado Visual Studio .NET en tu PC.
6. Problema con los permisos para acceder a http://localhost
- Usar la cuenta de usuario que inicia la sesión en Windows para el acceso anónimo al servidor web local
Si al intentar abrir
el sitio web predeterminado recibes mensajes de error de Acceso no permitido
o Permisos insuficentes, puede ser útil cambiar la cuenta del sistema que
se usará para el acceso como usuario anónimo; esta cuenta por defecto es IUSR_XXX
(donde XXX es el nombre de la máquina local) pero puede ser substituida por el usuario
que ha iniciado sesión en Windows con la salvedad de que este usuario ha de tener
contraseña (no puede ser cuenta sin contraseña).
Para ello, vas al Administrador del servicio IIS (botón derecho en Mi
PC / Administrar / Servicios y aplicaciones / Servicios de Internet Information
Server) y allí:
7. Errores de IIS después de instalar SERVICE PACK 2 de WINDOWS XP (SP2)
- Recuperar los archivos IIS.INF / IIS.DLL desde Windows 2000 SP4
- Utilizar la herramienta que comprueba los archivos protegidos de sistema (SFC)
Después de aplicar el SP2 a Windows XP Home, algunas instalaciones de IIS en Windows XP Home dejan de funcionar. Una posible solución a este problema puede ser:
También puede ser útil usar la herramienta SFC (System File Checker - Comprobador de archivos de sistema) que busca archivos de sistema protegidos y reemplaza las versiones incorrectas por las correctas, extrayéndolas del CD de Windows XP Home si es necesario: