Compartir a través de


Servidores Web en Visual Web Developer

Actualización: noviembre 2007

En este tema se describe el uso de Internet Information Services (IIS) o del Servidor de desarrollo de ASP.NET integrado para probar y ejecutar sitios Web.

Para probar o ejecutar aplicaciones Web ASP.NET, necesita un servidor Web. El servidor Web de producción para sistemas operativos de Microsoft es IIS que incluye un servidor Web, un servidor de Protocolo de transferencia de archivos (FTP), un servidor de correo electrónico virtual de Protocolo simple de transferencia de correo (SMTP) y otros medios. Para ejecutar IIS, debe trabajar con una versión de Windows diseñada para funcionar como un servidor en un entorno de red. Esto incluye la Edición de Web de Windows Server 2003.

En Windows 2000 Server y versiones anteriores de sistemas operativos de servidores de Windows, IIS se instala de manera predeterminada como parte del sistema operativo. En Windows XP y Windows Server 2003, IIS no se instala de forma predeterminada; puede agregarlo mediante la opción Agregar o quitar componentes de Windows de Agregar o quitar programas en el Panel de control. (En Windows Server 2003, puede instalar IIS mediante el componente Servidor de aplicaciones.)

Puede resultar poco práctico trabajar con IIS por motivos como los siguientes:

  • Cuando está desarrollando páginas Web de ASP.NET mientras trabaja con Windows XP Home Edition, que no admite IIS.

  • Si no desea hospedar, por razones de seguridad, un servidor Web en su equipo (por ejemplo, en su red doméstica). Ejecutar un servidor Web como IIS requiere seguir algunos pasos adicionales para asegurar el servidor y tener cuidado de instalar las últimas actualizaciones de seguridad.

  • Las directivas corporativas no le permiten instalar algunos componentes del servidor como IIS.

Servidor de desarrollo de ASP.NET

Si no puede o no desea utilizar IIS como servidor Web, puede probar páginas ASP.NET utilizando el Servidor de desarrollo de ASP.NET. El Servidor de desarrollo de ASP.NET, que se incluye en Visual Web Developer, es un servidor Web que se ejecuta localmente en sistemas operativos Windows, incluido Windows XP Home Edition. Está especialmente creado para servir, o ejecutar, páginas Web de ASP.NET en el escenario del host local (explorando desde el mismo equipo que el servidor Web). En otros términos, el Servidor de desarrollo de ASP.NET servirá páginas a solicitudes de exploradores en el equipo local. No servirá páginas a otros equipos. Además, no servirá archivos que estén fuera del ámbito de la aplicación. El Servidor de desarrollo de ASP.NET proporciona una manera eficaz de probar páginas localmente antes de publicarlas en un servidor de producción que ejecute IIS.

El Servidor de desarrollo de ASP.NET sólo acepta solicitudes autenticadas en el equipo local. Esto requiere que el servidor pueda admitir autenticación NTLM o básica.

Nota:

Como procedimiento recomendado, no ejecute Visual Web Developer cuando esté conectado como Administrador: ejecútelo sólo con una cuenta más restrictiva. Esto ayuda a evitar accesos inadvertidos a otros archivos del servidor.

El Servidor de desarrollo de ASP.NET sólo funciona con páginas individuales y no incluye medios adicionales de IIS. Por ejemplo, el Servidor de desarrollo de ASP.NET no admite un servidor de correo SMTP. Si la aplicación Web implica envío de mensajes de correo electrónico, debe tener acceso al servidor virtual SMPT de IIS para probar el correo electrónico porque el Servidor de desarrollo de ASP.NET no puede reenviar mensajes de correo electrónico ni ejecutar un servidor que lo haga.

Ejecutar el Servidor de desarrollo de ASP.NET

El Servidor de desarrollo de ASP.NET se instala de manera predeterminada con Visual Web Developer. Si está trabajando con un sitio Web del sistema de archivos, Visual Web Developer utiliza automáticamente el Servidor de desarrollo de ASP.NET para ejecutar las páginas. De manera predeterminada, el servidor Web se ejecuta en un puerto seleccionado de forma aleatoria para el escenario del host local. Por ejemplo, si está probando una página llamada ExamplePage.aspx, al ejecutarla en el Servidor de desarrollo de ASP.NET, la dirección URL de la página puede ser:

https://localhost:31544/ExamplePage.aspx

Cuando cierra el explorador, el Servidor de desarrollo de ASP.NET se cierra de nuevo.

Si desea ejecutar el Servidor de desarrollo de ASP.NET en un puerto concreto, puede configurar el servidor con este fin. Puede hacer esto en estos escenarios:

  • Si el código de la aplicación está a la escucha de un puerto concreto y desea poder probar la aplicación mediante el Servidor de desarrollo de ASP.NET.

  • Si la aplicación incluye una referencia a un proyecto de cliente o servicio Web que esté enlazado a un puerto concreto.

Visual Web Developer no puede garantizar que el puerto que especifique esté disponible al ejecutar el sitio Web del sistema de archivos. Para obtener información detallada, vea Cómo: Especificar un puerto para el servidor de desarrollo de ASP.NET.

Contexto de seguridad para el Servidor de desarrollo de ASP.NET

Una diferencia importante entre el Servidor de desarrollo de ASP.NET e IIS es el contexto de seguridad en el que los respetivos servidores ejecutan las páginas ASP.NET. Esta diferencia puede afectar a las pruebas debido a las diferencias en el modo de ejecución de las páginas.

Cuando ejecuta una página mediante el Servidor de desarrollo de ASP.NET, la página se ejecuta en el contexto de su cuenta de usuario actual. Por ejemplo, si está ejecutando como un usuario de nivel de administrador, una página que se ejecuta en el Servidor de desarrollo de ASP.NET tendrá privilegios de nivel de administrador. Por el contrario, en IIS, ASP.NET se ejecuta de manera predeterminada en el contexto de usuario especial (ASPNET o NETWORK SERVICES) que tiene normalmente privilegios limitados. Las cuentas de ASPNET o NETWORK SERVICES son locales en el equipo de servidor (no cuentas de dominio), lo que restringe el acceso a los recursos de otros equipos.

Si simplemente está leyendo y ejecutando el código en páginas ASP.NET, esta diferencia no es muy importante. Sin embargo, los diferentes contextos de seguridad para los dos servidores Web pueden afectar a las pruebas de los siguientes elementos:

  • Acceso a otros recursos que requiere la página   Esto puede incluir la lectura y escritura de archivos distintos de las páginas Web, la lectura y escritura del Registro de Windows, etc.

  • Acceso a bases de datos   Al trabajar con el Servidor de desarrollo de ASP.NET, puede confiar normalmente en la Autenticación integrada en Windows para tener acceso a SQL Server. No obstante, cuando la misma página se ejecuta en IIS en la cuenta ASPNET o NETWORK SERVICES, la página se ejecuta en el contexto de un usuario local y a menudo debe configurar la página para que utilice una cadena de conexión que incluya información sobre un usuario y una contraseña. Para obtener información detallada, vea Acceso a SQL Server desde una aplicación Web y Arquitectura de seguridad de ASP.NET.

  • Seguridad de acceso a código   Si la página implica el acceso a recursos que están protegidos en distintas zonas, es posible que se ejecute de forma distinta en el Servidor de desarrollo de ASP.NET e IIS.

Incluso si puede utilizar el Servidor de desarrollo de ASP.NET para probar que funcionan las páginas, debe probarlas de nuevo tras publicarlas en un servidor Web de producción que ejecute IIS.

Autorización de archivos en el Servidor de desarrollo de ASP.NET

En un sitio Web del sistema de archivos, los archivos estáticos, como imágenes y hojas de estilos, están sujetos a la autorización de ASP.NET. Por ejemplo, los archivos estáticos de un sitio Web del sistema de archivos no se servirán a un usuario anónimo cuando se deshabilite el acceso anónimo a esos archivos. Sin embargo, cuando crea un proyecto de sitio Web en una ubicación HTTP, IIS sirve archivos estáticos sin utilizar reglas de autorización.

Vea también

Tareas

Tutorial: Crear una página Web básica en Visual Web Developer

Conceptos

Sitios Web del sistema de archivos