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:

  1. Configuración de la página predeterminada
  2. 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
  3. 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.

Screenshot of the Web Matrix ribbon showing the Publish button highlighted with a red rectangle next to the Run button.

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.

Screenshot of the Publish Your Site dialog box showing the Get started with Windows Azure option highlighted with a red rectangle.

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.

Screenshot of the Microsoft Windows Azure sign-in dialog showing the Microsoft account and organization account sign-ins.

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.

Screenshot of the Publish Your Site dialog box showing the Create a new site option highlighted with a red rectangle.

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.

Screenshot of the Create site on Windows Azure window showing the default name is not available as indicated by the red exclamation mark.

Cambie el nombre del sitio a un nombre que esté disponible y seleccione una ubicación cercana a su ubicación.

Screenshot of the Create site on Windows Azure window showing the changed site name in the Site name field.

Haga clic en OK.

WebMatrix realiza una prueba para determinar si el servidor es compatible con el sitio.

Screenshot of the Web Matrix window showing a message indicating that a server test will initiate once the user selects the Continue button.

Seleccione Continuar.

Se muestran los resultados de la prueba de compatibilidad.

Screenshot of the Web Matrix window showing the results of the compatibility test with the successful items indicated by a green checkmark icon.

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.

Screenshot of the Publish Preview window showing all of the files and databases in a list with checkboxes corresponding to each item.

Seleccione Continuar.

Una vez implementado el sitio en Azure, se muestra un mensaje que indica que se ha completado la implementación.

Screenshot of the publishing complete message indicating that the website deployment was successful.

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.

Screenshot of the deployed website showing the U R L in the address bar highlighted with a red rectangle.

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.

Screenshot of the Publish Your Site dialog box showing the Find Windows web hosting link highlighted with a red rectangle.

Vaya a una página del sitio de Microsoft en la que se enumeren los proveedores de hospedaje que admiten ASP.NET.

Screenshot of the Microsoft Find Web Hosting page showing a list of hosting providers that support A S P dot 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:

Screenshot of the Publish Settings dialog box showing the hosting company details filled into the text fields.

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.

Screenshot of the Validate Connection button with a green checkmark icon indicating that the connection was successful.

Si hay algún problema, WebMatrix hace todo lo posible para indicarle cuál es el problema:

Screenshot of the Validate Connection button with a yellow warning icon with an error message corresponding to the error.

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:

Screenshot of the Publish Compatibility dialog with a message explaining the site compatibility test prompting to select the Yes button to proceed.

Haga clic en . WebMatrix carga algunos archivos de ejemplo en el proveedor de hospedaje. Cuando se realiza la prueba de compatibilidad, WebMatrix notifica los resultados:

Screenshot of the Publish Compatibility test showing the results of the test with the successful items indicated by a green checkmark icon.

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:

Screenshot of the Publish Preview window showing a list of site files ready to be published to the website and a preview of the website.

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:

Screenshot of the status bar showing a highlighted yellow message when the publishing process has finished successfully.

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:

Screenshot showing the live site showing the altered Movies dot c s h t m l file by changing the red highlighted U R L in the address bar.

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.

Screenshot of the Publish Preview dialog box showing the updated files in the changed files list and a message about overwriting remote databases.

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