Presentación de ASP.NET Web Pages: publicación de un sitio mediante WebMatrix
por Tom FitzMacken
Este tutorial es la entrega final del conjunto de tutoriales que presenta ASP.NET Web Pages y Microsoft WebMatrix. Describe cómo publicar su sitio en Internet para que otros usuarios puedan trabajar con él. Se supone que ha completado la serie mediante Creación de una búsqueda coherente para sitios de ASP.NET Web Pages.
Aprenderá a publicar el sitio mediante:
- Microsoft Azure
- Empresa de hospedaje web
Acerca de la publicación del sitio
Hasta ahora, ha realizado todo el trabajo en un equipo local, incluidas las pruebas de las páginas. Para ejecutar sus páginas .cshtml, ha usado el servidor web integrado en WebMatrix, es decir, IIS Express. Pero, por supuesto, nadie puede ver el sitio que ha creado excepto usted. Para permitir que otros usuarios trabajen con su sitio, debe publicarlo en Internet.
A menos que ya tenga acceso a un servidor web público, publicar significa que tiene que tener una cuenta con una plataforma en la nube o un proveedor de hospedaje. Una plataforma en la nube, como Microsoft Azure, proporciona infraestructura a petición para las aplicaciones. Un proveedor de hospedaje es una empresa que posee servidores web accesibles de forma pública y que le alquilará espacio para su sitio. Existen planes de hospedaje desde poco dinero al mes (o incluso gratis) para sitios pequeños a grandes cantidades de dinero mensual para sitios web comerciales de gran volumen.
Nota:
Es posible que tenga acceso a un servidor web público a través del proveedor de servicios de Internet (ISP) que utiliza para obtener el servicio de Internet en casa. Sin embargo, el proveedor de hospedaje debe admitir ASP.NET Web Pages. Muchos ISP no lo hacen, pero siempre vale la pena comprobarlo.
En este tutorial, le vamos a proporcionar información general sobre cómo publicar. No es práctico indicar detalles exactos para todo, ya que el proceso difiere un poco para cada proveedor de hospedaje. Pero se hará una idea precisa de cómo funciona el proceso.
Este tutorial contiene cuatro secciones:
- Configuración de la página predeterminada
- Publicación (elija una de las siguientes opciones)
a. Publicación del sitio en Microsoft Azure
b. Publicación del sitio en una empresa de hospedaje web - Actualización del sitio activo: volver a publicar
Configuración de la página predeterminada
Cuando un usuario navega a la dirección base del sitio web, se muestra la página predeterminada del sitio al usuario. Por ejemplo, cuando Default.htm se establece como la página predeterminada del sitio en www.contoso.com
, navegar a www.contoso.com
es lo mismo que navegar a www.contoso.com/Default.htm
.
Actualmente, el sitio utiliza Default.cshtml como página predeterminada. Esta página es adecuada para la página predeterminada, pero en este tutorial no ha agregado ningún contenido a esa página de modo que mostrará una página en blanco. Abra Default.cshtml y reemplace el contenido por el código siguiente.
@{
Layout = "~/_Layout.cshtml";
Page.Title = "Welcome to Movie site";
}
<p><a href="~/Movies">Go to movie listing</a></p>
Ahora el sitio está preparado para su publicación. En primer lugar, verá cómo implementar el sitio en Azure y, a continuación, cómo implementarlo en una empresa de hospedaje web. Cualquiera de las opciones funciona para el sitio web, y solo tiene que seguir una de las opciones de implementación.
Publicación del sitio en Microsoft Azure
En este tutorial se muestra primero cómo implementar el sitio en Microsoft Azure. Al iniciar sesión con una cuenta Microsoft, puede crear hasta 10 sitios gratuitos en Azure. Estos sitios gratuitos proporcionan una manera cómoda de probar sus sitios. Siempre puede eliminar este sitio de ejemplo más adelante para evitar el uso de todos sus sitios gratuitos. Puede crear una cuenta de evaluación gratuita en pocos minutos. Para obtener más información, consulte Evaluación gratuita de Azure.
En la cinta de WebMatrix, haga clic en el botón Publicar.
Se muestra el cuadro de diálogo Publicar sitio. Si no ha iniciado sesión en su cuenta de Microsoft, el cuadro de diálogo contendrá un vínculo Introducción a Azure. Haga clic en este vínculo.
Si no ha iniciado sesión en una cuenta de Microsoft, se le dará la oportunidad de iniciar sesión. Debe iniciar sesión en una cuenta de Microsoft para publicar el sitio en Azure.
Después de iniciar sesión en su cuenta de Microsoft, el cuadro de diálogo contiene vínculos para crear un sitio en Azure o conectarse a uno de los sitios existentes en Azure.
Seleccione Crear un sitio nuevo.
Si ha llamado al proyecto WebPagesMovies, el nombre predeterminado del sitio será webpagesmovies.azurewebsites.net. Es probable que este nombre predeterminado no esté disponible, como lo indica el signo de exclamación rojo.
Cambie el nombre del sitio a un nombre que esté disponible y seleccione una ubicación cercana a su ubicación.
Haga clic en OK.
WebMatrix realiza una prueba para determinar si el servidor es compatible con el sitio.
Seleccione Continuar.
Se muestran los resultados de la prueba de compatibilidad.
Seleccione Continuar.
WebMatrix muestra los archivos y las bases de datos que se publicarán en el sitio. Como esta es la primera vez que está publicando el sitio, se muestran todos los archivos. Puede desactivar un archivo que no esté preparado para publicarse. En las publicaciones posteriores, solo se mostrarán los archivos que hayan cambiado. Consulte Actualización del sitio activo: volver a publicar.
Seleccione Continuar.
Una vez implementado el sitio en Azure, se muestra un mensaje que indica que se ha completado la implementación.
El sitio y la base de datos se han publicado en Azure y ahora están disponibles para el público. Haga clic en el vínculo del mensaje que indica que la publicación se ha completado y verá el sitio implementado. Usted o cualquier persona con acceso a Internet puede agregar o modificar registros en la base de datos.
Publicación del sitio en una empresa de hospedaje web
Si decide no publicar en Azure, puede publicar el sitio en una empresa de hospedaje web.
Haga clic en el vínculo Buscar hospedaje web.
Vaya a una página del sitio de Microsoft en la que se enumeren los proveedores de hospedaje que admiten ASP.NET.
Obviamente, puede ser difícil saber ahora exactamente qué características de hospedaje podría requerir a largo plazo. Estas son un par de cosas que se deben tener en cuenta:
- Para los fines del sitio WebPagesMovies, no es necesario tener un complemento independiente para SQL Server, lo que a menudo supone un costo adicional. En el sitio, va a usar SQL Server Compact Edition, que es independiente. Sin embargo, es posible que necesite acceso a SQL Server para algún trabajo futuro que haga del sitio web. Si cree que podría necesitarlo, asegúrese de que pueda agregar la funcionalidad SQL Server más adelante.
- Compruebe si el proveedor de hospedaje admite el protocolo de publicación Web Deploy. Puede publicar mediante el protocolo FTP, pero es más conveniente usar Web Deploy.
Algunos sitios ofrecen un período de evaluación gratuito. Una evaluación gratuita es una buena manera de probar la publicación y el hospedaje mientras sigue experimentando con WebMatrix y ASP.NET Web Pages.
Elija una que le guste. Para este tutorial, hemos seleccionado DiscountASP.NET porque mientras estábamos creando el tutorial, esa empresa tenía una promoción que permitía a los usuarios hospedar un sitio gratis durante unos meses.
Nota:
Nuestra elección de un proveedor de hospedaje para este tutorial no debe interpretarse como una aprobación de esa empresa por encima de cualquier otra. Pero hemos tenido que elegir una para la prueba, y DiscountASP.NET es una de las muchas empresas que admiten ASP.NET Web Pages y el protocolo Web Deploy para la publicación.
Normalmente, después de registrarse con el proveedor de hospedaje, la empresa le envía un correo electrónico que contiene un nombre de usuario y una contraseña, la dirección URL del servidor web, etc. Si la empresa de hospedaje admite el protocolo Web Deploy, es posible que le envíen un archivo que contenga la configuración de publicación o que le permitan descargar uno. Un archivo de configuración de publicación simplifica el proceso.
Cuando se haya registrado y esté preparado para publicar, haga clic en el botón Publicar de la cinta de opciones de WebMatrix. Se muestra el cuadro de diálogo Configuración de publicación.
Si el proveedor de hospedaje le ha enviado un archivo de configuración de publicación, haga clic en el vínculo Importar configuración de publicación e importe el archivo. Si no tiene un archivo de configuración de publicación, rellene los campos con los valores que la empresa de hospedaje le haya enviado por correo electrónico. Este es el aspecto que puede tener el cuadro de diálogo Configuración de publicación cuando haya terminado:
Haga clic en Validar conexión. Si todo está bien, el cuadro de diálogo indica Conexión correcta, lo que significa que puede comunicarse con el servidor del proveedor de hospedaje.
Si hay algún problema, WebMatrix hace todo lo posible para indicarle cuál es el problema:
Haga clic en Guardar para guardar la configuración. WebMatrix ofrece realizar una prueba para asegurarse de que pueda comunicarse correctamente con el sitio de hospedaje:
Haga clic en Sí. WebMatrix carga algunos archivos de ejemplo en el proveedor de hospedaje. Cuando se realiza la prueba de compatibilidad, WebMatrix notifica los resultados:
Si está preparado para continuar, prosiga y haga clic en Continuar para iniciar el proceso de publicación de verdad. WebMatrix determina qué archivos están en su sitio y ya se encuentran en el servidor host (en este momento, ninguno) y proporciona una vista previa del proceso de publicación:
La lista de archivos que se van a publicar incluye las páginas web que ha creado como Movies.cshtml. La lista también incluye archivos para los asistentes que ha instalado, los archivos para ejecutar SQL Server Compact Edition para la base de datos, etc. Como resultado, el proceso de publicación inicial puede ser considerable.
Haga clic en Continue. WebMatrix copia los archivos en el servidor del proveedor de hospedaje. Cuando haya terminado, los resultados se notifican en la barra de estado:
Para ver el sitio activo, haga clic en el vínculo de la barra de estado. Agregue Movies a la dirección URL y verá el archivo Movies.cshtml creado:
Actualización del sitio activo: volver a publicar
Una vez que haya publicado el sitio (en Azure o en una empresa de hospedaje web), existen dos copias de él: la versión del equipo y la versión del proveedor de servicios. Probablemente quiera seguir desarrollando el sitio (aunque sea como parte del siguiente conjunto de tutoriales). Cuando lo haga, tendrá que volver a publicar el sitio para copiar los cambios del equipo en el proveedor de servicios. El proceso de publicación en WebMatrix puede determinar qué archivos han cambiado en su sitio y publicar solo esos archivos.
Para ver cómo funciona la republicación, abra el sitio Movies.cshtml, realice algún pequeño cambio y guarde luego el archivo. Por ejemplo, cambie el título a Movies - Updated
.
Haga clic en el botón Publicar de la cinta de opciones. WebMatrix determina lo que ha cambiado y muestra una vista previa de los archivos que va a publicar.
Importante
De forma predeterminada, WebMatrix publica la base de datos (archivo .sdf) solo la primera vez que publique el sitio. Una vez publicado el sitio y que los usuarios interactúen con el sitio web, la base de datos del sitio activo tiene normalmente los datos reales del sitio. Debe tener mucho cuidado de no sobrescribir la base de datos activa con el archivo .sdf que se encuentra en el equipo, que normalmente solo contiene datos de prueba. Por eso es por lo que verá la advertencia La publicación sobrescribirá todas las bases de datos remotas y por lo que la casilla de WebPagesMovies.sdf está desactivada de forma predeterminada.
Haga clic en Continue. WebMatrix publica los archivos modificados y muestra un mensaje de operación correcta, como hizo la primera vez que publicó.
Vaya al sitio activo (puede hacer clic en el vínculo del mensaje de operación correcta si sigue apareciendo) y compruebe que se haya publicado el cambio.
Sugerencia
Edición remota de archivos
Como alternativa a cambiar el sitio y a volverlo a publicar, puede editar archivos remotos directamente en WebMatrix. En este escenario, se abre un archivo que se encuentra en el proveedor de servicios, y WebMatrix descarga una copia de él para que lo edite. Cada vez que guarde el archivo, WebMatrix envía los cambios al sitio.
La edición remota es una manera fácil de realizar cambios en el sitio activo. Sin embargo, los cambios realizados de esta manera no se sincronizan con los archivos del sitio local. Para sincronizar los archivos locales con el sitio remoto, puede descargar los archivos remotos. Este proceso funciona de forma muy similar a la publicación, excepto que es en sentido inverso.
No vamos a describir más los recursos de edición y descarga remotas de WebMatrix aquí. Son bastante útiles si varias personas tienen que trabajar en el mismo sitio en equipos diferentes. Para más información, consulte Publicación y edición de un sitio remoto con WebMatrix 2 Beta.
Recursos adicionales
- Foro de ASP.NET Web Pages de ASP.NET WebMatrix, un excelente lugar para publicar preguntas y obtener respuestas.