Implementación de una aplicación web de ASP.NET con SQL Server Compact mediante Visual Studio: introducción 1 de 12

de Tom Dykstra

Descarga del proyecto de inicio

En esta serie de tutoriales se muestra cómo implementar (publicar) un proyecto de aplicación web de ASP.NET que incluye una base de datos de SQL Server Compact mediante Visual Studio 2012 RC o Visual Studio Express 2012 RC para la web. También puede usar Visual Studio 2010 si instala la actualización de publicación web.

Para ver un tutorial que muestra las características de implementación introducidas después de la versión RC de Visual Studio 2012, muestra cómo implementar ediciones de SQL Server distintas de SQL Server Compact y muestra cómo implementar en Azure App Service Web Apps, consulte Implementación web de ASP.NET con Visual Studio.

Estos tutoriales le guían a través de la implementación primero en IIS en el equipo de desarrollo local para realizar pruebas y, a continuación, en un proveedor de hospedaje de terceros. La aplicación que implementará usa una base de datos de aplicación y una base de datos de pertenencia ASP.NET. Empiece a usar SQL Server Compact e implemente en SQL Server Compact y los tutoriales posteriores le mostrarán cómo implementar los cambios de base de datos y cómo migrar a SQL Server.

En los tutoriales se supone que sabe cómo trabajar con ASP.NET en Visual Studio. De lo contrario, un buen lugar para empezar es un tutorial básico de ASP.NET Web Forms o un tutorial básico de ASP.NET MVC.

Si tiene preguntas que no están directamente relacionadas con el tutorial, puede publicarlas en el foro de implementación de ASP.NET.

Información general

Estos tutoriales le guían a través de la implementación primero en IIS en el equipo de desarrollo local para realizar pruebas y, a continuación, en un proveedor de hospedaje de terceros. La aplicación que implementará usa una base de datos de aplicación y una base de datos de pertenencia ASP.NET. Empiece a usar SQL Server Compact e implemente en SQL Server Compact y los tutoriales posteriores le mostrarán cómo implementar los cambios de base de datos y cómo migrar a SQL Server.

El número de tutoriales ( 11 en total más una página de solución de problemas) podría hacer que el proceso de implementación parezca abrumador. De hecho, los procedimientos básicos para implementar un sitio constituyen una parte relativamente pequeña del conjunto de tutoriales. Sin embargo, en situaciones reales, a menudo necesita información sobre algún aspecto adicional pequeño pero importante de la implementación, por ejemplo, establecer permisos de carpeta en el servidor de destino. Hemos incluido muchas de estas técnicas adicionales en los tutoriales, con la esperanza de que los tutoriales no abandonen la información que podría impedir que implemente correctamente una aplicación real.

Los tutoriales están diseñados para ejecutarse en secuencia y cada parte se basa en la parte anterior. Sin embargo, puede omitir partes que no son relevantes para su situación. (La omisión de elementos puede requerir que ajuste los procedimientos de los tutoriales posteriores).

Destinatarios

Los tutoriales están dirigidos a ASP.NET desarrolladores que trabajan en pequeñas organizaciones u otros entornos donde:

  • No se usa un proceso de integración continua (compilaciones automatizadas e implementación).
  • El entorno de producción es un proveedor de hospedaje de terceros.
  • Una persona normalmente rellena varios roles (la misma persona desarrolla, prueba e implementa).

En entornos empresariales, es más habitual implementar procesos de integración continua y el entorno de producción normalmente se hospeda en los propios servidores de la empresa. Las diferentes personas también suelen desempeñar diferentes roles. Para obtener información sobre la implementación empresarial, consulte Implementación de aplicaciones web en escenarios empresariales.

Las organizaciones de todos los tamaños también pueden implementar aplicaciones web en Azure y la mayoría de los procedimientos que se muestran en estos tutoriales también se aplican a Azure App Services Web Apps. Para obtener una introducción a Azure, consulte https://azure.microsoft.com.

El proveedor de hospedaje que se muestra en los tutoriales

Los tutoriales le llevan a través del proceso de configuración de una cuenta con una empresa de hospedaje e implementación de la aplicación en ese proveedor de hospedaje. Se eligió una empresa de hospedaje específica para que los tutoriales pudieran ilustrar la experiencia completa de la implementación en un sitio web activo. Cada empresa de hospedaje proporciona características diferentes y la experiencia de implementación en sus servidores varía un poco; Sin embargo, el proceso descrito en este tutorial es típico para el proceso general.

El proveedor de hospedaje usado para este tutorial, Cytanium.com, es uno de los muchos que están disponibles y su uso en este tutorial no constituye un respaldo ni una recomendación.

Implementación de proyectos de sitio web

Contoso University es un proyecto de aplicación web de Visual Studio. La mayoría de los métodos de implementación y las herramientas que se muestran en este tutorial no se aplican a proyectos de sitio web. Para obtener información sobre cómo implementar proyectos de sitio web, consulte Mapa de contenido de implementación de ASP.NET.

Implementación de proyectos MVC de ASP.NET

Para este tutorial, implementa un proyecto de ASP.NET Web Forms, pero todo lo que aprenderá a hacer también es aplicable a ASP.NET MVC. Un proyecto MVC de Visual Studio es simplemente otra forma de proyecto de aplicación web. La única diferencia es que si va a realizar la implementación en un proveedor de hospedaje que no admite ASP.NET MVC o la versión de destino, debe asegurarse de que ha instalado el paquete NuGet adecuado (MVC 3 o MVC 4) en el proyecto.

Lenguaje de programación

La aplicación de ejemplo usa C# pero para los tutoriales no se necesitan conocimientos de C#, y las técnicas de implementación que se muestran en los tutoriales no son específicas de un lenguaje.

Solución de problemas durante este tutorial

Cuando se produce un error durante la implementación o si el sitio implementado no se ejecuta correctamente, los mensajes de error no siempre proporcionan una solución. Para ayudarle con algunos escenarios de problemas comunes, hay disponible una página de referencia de solución de problemas. Si recibe un mensaje de error o algo no funciona mientras realizar los tutoriales, asegúrese de comprobar la página de solución de problemas.

Los comentarios son bienvenidos

Los comentarios sobre los tutoriales son bienvenidos y, cuando el tutorial se actualiza, se realizarán todos los esfuerzos para tener en cuenta las correcciones o sugerencias de mejoras que se proporcionan en los comentarios del tutorial.

Requisitos previos

Antes de empezar, asegúrese de que tiene Windows 7 o posterior y uno de los siguientes productos instalados en el equipo:

Si tiene Visual Studio 2010 SP1 o Visual Web Developer Express 2010 SP1, instale también los siguientes productos:

Se necesita otro software para completar el tutorial, pero todavía no es necesario tenerlo cargado todavía. En el tutorial se le guiará por los pasos para instalarlo cuando lo necesite.

Descarga de la aplicación de ejemplo

La aplicación que va a implementar se denomina Contoso University y ya se ha creado automáticamente. Es una versión simplificada de un sitio web universitario, basado de forma flexible en la aplicación Contoso University descrita en los tutoriales de Entity Framework en el sitio de ASP.NET.

Cuando tenga instalados los requisitos previos, descargue la aplicación web Contoso University. El archivo .zip contiene varias versiones del proyecto y un archivo PDF que contiene los 12 tutoriales. Para realizar los pasos del tutorial, comience con ContosoUniversity-Begin. Para ver el aspecto del proyecto al final de los tutoriales, abra ContosoUniversity-End. Para ver el aspecto del proyecto antes de la migración a SQL Server completo en el tutorial 10, abra ContosoUniversity-AfterTutorial09.

Para prepararse para trabajar con los pasos del tutorial, guarde ContosoUniversity-Begin en cualquier carpeta que use para trabajar con proyectos de Visual Studio. De forma predeterminada, esta es la carpeta siguiente:

C:\Users\<username>\Documents\Visual Studio 2012\Projects

(Para las capturas de pantalla de este tutorial, la carpeta del proyecto se encuentra en el directorio raíz en la unidad C:).

Inicie Visual Studio, abra el proyecto y presione CTRL-F5 para ejecutarlo.

Home_page

Las páginas del sitio web son accesibles desde la barra de menús y permiten realizar las siguientes funciones:

  • Mostrar las estadísticas de los alumnos (la página Acerca de).
  • Mostrar, editar, eliminar y agregar alumnos.
  • Mostrar y editar cursos.
  • Mostrar y editar instructores.
  • Mostrar y editar departamentos.

A continuación se muestran capturas de pantalla de algunas páginas representativas.

Students_Page

Add_Students_Page

Revisión de las características de la aplicación que afectan a la implementación

Las siguientes características de la aplicación afectan a cómo implementarla o a lo que tiene que hacer para implementarla. Cada una se explica con más detalle en los siguientes tutoriales de la serie.

  • Contoso University usa una base de datos de SQL Server Compact para almacenar datos de la aplicación como nombres de alumnos e instructores. La base de datos contiene una combinación de datos de prueba y datos de producción, y cuando se implementa en producción, debe excluir los datos de prueba. Más adelante en la serie de tutoriales, migrará de SQL Server Compact a SQL Server.
  • La aplicación usa el sistema de pertenencia de ASP.NET, que almacena la información de la cuenta de usuario en una base de datos de SQL Server Compact. La aplicación define un usuario administrador que tiene acceso a cierta información restringida. Debe implementar la base de datos de pertenencia sin cuentas de prueba, pero con una cuenta de administrador.
  • Dado que la base de datos de aplicación y la base de datos de pertenencia usan SQL Server Compact como motor de base de datos, debe implementar el motor de base de datos en el proveedor de hospedaje, así como las propias bases de datos.
  • La aplicación usa proveedores de pertenencia universal de ASP.NET para que el sistema de pertenencia pueda almacenar sus datos en una base de datos de SQL Server Compact. El ensamblado que contiene los proveedores de pertenencia universal debe implementarse con la aplicación.
  • La aplicación usa Entity Framework 5.0 para acceder a los datos de la base de datos de la aplicación. El ensamblado que contiene Entity Framework 5.0 debe implementarse con la aplicación.
  • La aplicación usa una utilidad de informes y registro de errores de terceros. Esta utilidad se proporciona en un ensamblado que se debe implementar con la aplicación.
  • La utilidad de registro de errores escribe información de error en archivos XML en una carpeta de archivos. Debe asegurarse de que la cuenta en la que ASP.NET se ejecuta en el sitio implementado tiene permiso de escritura en esta carpeta y debe excluir esta carpeta de la implementación. (De lo contrario, es posible que los datos del registro de errores del entorno de prueba se implementen en producción o que se eliminen los archivos de registro de errores de producción).
  • La aplicación incluye algunos valores de configuración que se deben cambiar en el archivo Web.config implementado en función del entorno de destino (prueba o producción) y otros valores de configuración que se deben cambiar en función de la configuración de compilación (Depuración o Versión).
  • La solución de Visual Studio incluye un proyecto de biblioteca de clases. Solo se debe implementar el ensamblado que genera este proyecto, no el propio proyecto.

En este primer tutorial de la serie, ha descargado el proyecto de Visual Studio de ejemplo y ha revisado las características del sitio que afectan a la implementación de la aplicación. En los tutoriales siguientes, preparará la implementación mediante la configuración de algunos de estos elementos para que se controlen automáticamente. De otros se encargará manualmente.