Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Objetivos
Requisitos previos
Configurar
Para ejecutar los ejercicios en este laboratorio práctico, primero deberá configurar
el entorno.
Nota
Ejercicios
Este laboratorio práctico incluye los ejercicios siguientes:
Nota
Cuando inicie Visual Studio por primera vez, debe seleccionar una de las
colecciones de configuración predefinidas. Cada colección predefinida está
diseñada para coincidir con un estilo de desarrollo determinado y determina los
diseños de ventana, el comportamiento del editor, los fragmentos de código de
IntelliSense y las opciones del cuadro de diálogo. Los procedimientos de este
laboratorio describen las acciones necesarias para realizar una tarea determinada
en Visual Studio al usar la colección Configuración de desarrollo general . Si elige
una colección de configuraciones diferente para el entorno de desarrollo, puede
haber diferencias en los pasos que debe tener en cuenta.
En este ejercicio, creará un nuevo sitio de Web Forms en Visual Studio 2013 con la
experiencia de proyecto unificado one ASP.NET, lo que le permitirá integrar
fácilmente Web Forms, MVC y componentes de API web en la misma aplicación. A
continuación, explorará la solución generada e identificará sus elementos y, por
último, verá el sitio web en acción.
En esta tarea, comenzará a crear un nuevo sitio web en Visual Studio basado en el
tipo de proyecto One ASP.NET . Una ASP.NET unifica todas las tecnologías de
ASP.NET y le ofrece la opción de mezclarlas y combinarlas según sea necesario. A
continuación, reconocerá los distintos componentes de Web Forms, MVC y API
web que se encuentran en paralelo dentro de la aplicación.
1. Abra Visual Studio Express 2013 para Web y seleccione Archivo | Nuevo
proyecto... para iniciar una nueva solución.
a. Cuenta: Esta carpeta contiene las páginas de formulario web que se van a
registrar, iniciar sesión en y administrar las cuentas de usuario de la
aplicación. Esta carpeta se agrega cuando se selecciona la opción de
autenticación Cuentas de usuario individuales durante la configuración
de la plantilla de proyecto de Web Forms.
b. Modelos: Esta carpeta contendrá las clases que representan los datos de la
aplicación.
c. Controladores y vistas: estas carpetas son necesarias para los
componentes ASP.NET MVC y ASP.NET Web API. Explorará las
tecnologías de MVC y API web en los ejercicios siguientes.
d. Los archivos Default.aspx, Contact.aspx y About.aspx son páginas de
formulario web predefinidas que puede usar como puntos de partida para
compilar las páginas específicas de la aplicación. La lógica de
programación de esos archivos reside en un archivo independiente
denominado archivo "código subyacente", que tiene una extensión
".aspx.vb" o ".aspx.cs" (según el lenguaje usado). La lógica de código
subyacente se ejecuta en el servidor y genera dinámicamente la salida
HTML de la página.
e. Las páginas Site.Master y Site.Mobile.Master definen la apariencia y el
comportamiento estándar de todas las páginas de la aplicación.
5. Haga doble clic en el archivo Default.aspx para explorar el contenido de la
página.
Nota
C#Copiar
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
C#Copiar
public static void RegisterRoutes(RouteCollection routes)
{
var settings = new FriendlyUrlSettings();
settings.AutoRedirectMode = RedirectMode.Permanent;
routes.EnableFriendlyUrls(settings);
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { action = "Index", id = UrlParameter.Optional }
);
}
Nota
Página Registrar
Usuario autenticado
El flujo de trabajo de modelado de Entity Framework Code First permite usar sus
propias clases de dominio para representar el modelo en el que EF se basa al
realizar consultas, seguimiento de cambios y actualizaciones de funciones. Con el
flujo de trabajo de desarrollo Code First, no es necesario iniciar la aplicación
mediante la creación de una base de datos ni la especificación de un esquema. En
su lugar, puede escribir clases estándar de .NET que definan los objetos de modelo
de dominio más adecuados para la aplicación y Entity Framework creará
automáticamente la base de datos.
Nota
Ahora definirá una clase Person , que será el modelo que usará el proceso de
scaffolding para crear el controlador MVC y las vistas. Empezará creando una clase
de modelo Person y las operaciones CRUD del controlador se crearán
automáticamente mediante características de scaffolding.
C#Copiar
namespace MyHybridSite.Models
{
public class Person
{
public int Id { get; set; }
Ahora que se crea el modelo person , usará ASP.NET scaffolding de MVC con Entity
Framework para crear las acciones y vistas del controlador CRUD para Person.
1. En Explorador de soluciones, haga clic con el botón derecho en la
carpeta Controllers del proyecto MyHybridSite y seleccione Agregar |
Nuevo elemento con scaffolding....
6. Haga clic en Agregar para crear el nuevo controlador para Persona con
scaffolding. Después, Visual Studio generará las acciones del controlador, el
contexto de datos person y las vistas de Razor.
Después de crear el controlador MVC con scaffolding
C#Copiar
...
// POST: /MvcPerson/Create
// To protect from overposting attacks, please enable the specific
properties you want to bind to, for
// more details see https://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Create([Bind(Include="Id,Name,Age")] Person
person)
{
if (ModelState.IsValid)
{
db.People.Add(person);
await db.SaveChangesAsync();
return RedirectToAction("Index");
}
return View(person);
}
// GET: /MvcPerson/Edit/5
public async Task<ActionResult> Edit(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Person person = await db.People.FindAsync(id);
if (person == null)
{
return HttpNotFound();
}
return View(person);
}
...
Nota
En esta tarea, volverá a ejecutar la solución para comprobar que las vistas
de Person funcionan según lo previsto. Agregará una nueva persona para
comprobar que se ha guardado correctamente en la base de datos.
El marco de api web forma parte de ASP.NET Stack y está diseñado para facilitar la
implementación de servicios HTTP, por lo general enviando y recibiendo datos con
formato JSON o XML a través de una API RESTful.
En esta tarea, creará un nuevo controlador de API web que expondrá los datos de
la persona en un formato consumible de la máquina, como JSON.
1. Si aún no está abierto, abra Visual Studio Express 2013 para Web y abra la
solución MyHybridSite.sln ubicada en la
carpeta Source/Ex3-WebAPI/Begin. Como alternativa, puede continuar con
la solución que obtuvo en el ejercicio anterior.
Nota
de
de
C#Copiar
// GET api/ApiPerson
public IQueryable<Person> GetPeople()
{
return db.People;
}
C#Copiar
// GET api/ApiPerson
public IQueryable<Person> GetPeople()
{
return db.People;
}
Nota
En esta tarea usará las herramientas de desarrollo F12 de Internet Explorer para
inspeccionar la respuesta completa del controlador de API web. Verá cómo puede
capturar el tráfico de red para obtener más información sobre los datos de la
aplicación.
Nota
Nota
Para seguir esta tarea correctamente, la aplicación debe tener datos. Si la base
de datos está vacía, puede volver a la tarea 3 del ejercicio 2 y seguir los pasos
sobre cómo crear una nueva persona mediante las vistas de MVC.
Nota
Una vez finalizada la descarga, se le pedirá que realice una acción con el
archivo descargado. Deje abierto el cuadro de diálogo para poder watch el
contenido de la respuesta a través de la ventana Herramientas de
desarrolladores.
Al crear una API web, resulta útil crear una página de ayuda para que otros
desarrolladores sepan cómo llamar a la API. Puede crear y actualizar manualmente
las páginas de documentación, pero es mejor generarlas automáticamente para
evitar tener que realizar trabajos de mantenimiento. En esta tarea, usará un
paquete Nuget para generar automáticamente páginas de ayuda de la API web
para la solución.
1. En el menú Herramientas de Visual Studio, seleccione Administrador de
paquetes NuGet y, a continuación, haga clic en Consola del Administrador
de paquetes.
2. En la ventana Consola del Administrador de paquetes , ejecute el siguiente
comando:
PowerShellCopiar
Install-Package Microsoft.AspNet.WebApi.HelpPage
Nota
Área HelpPage
JavaScriptCopiar
config.SetDocumentationProvider(new
XmlDocumentationProvider(HttpContext.Current.Server.MapPath("~/App_Data/
XmlDocument.xml")));
Pestaña Compilación
Nota
C#Copiar
// GET api/ApiPerson
/// <summary>
/// Documentation for 'GET' method
/// </summary>
/// <returns>Returns a list of people in the requested format</returns>
public IQueryable<Person> GetPeople()
{
return db.People;
}
Nota
12. Tenga en cuenta que la descripción que agregó encima de la definición del
método se muestra en la columna description.
de
13. Haga clic en uno de los métodos de API para navegar a una página con
información más detallada, incluidos los cuerpos de respuesta de ejemplo.
Resumen
Al completar este laboratorio práctico, ha aprendido a:
Creación de una aplicación web con one ASP.NET Experience en Visual Studio
2013
Integración de varias tecnologías de ASP.NET en un solo proyecto
Generación de controladores y vistas de MVC a partir de las clases de modelo
mediante ASP.NET Scaffolding
Generación de controladores de API web, que usan características como
programación asincrónica y acceso a datos a través de Entity Framework
Generación automática de páginas de ayuda de API web para los
controladores
https://learn.microsoft.com/es-es/aspnet/visual-studio/overview/2013/one-aspnet-
integrating-aspnet-web-forms-mvc-and-web-api#Exercise1