ASP.NET Core - Configure MVC
En este capitulo, configuraremos el marco MVC en nuestra aplicacion FirstAppDemo. Lo haremos mediante la creacion de una aplicacion web sobre ASP.NET Core y, mas especificamente, el marco ASP.NET Core MVC. Tecnicamente, podemos construir una aplicacion completa usando solo middleware, pero ASP.NET Core MVC nos brinda las caracteristicas que podemos usar para construir facilmente paginas HTML y API basadas en HTTP.
Para configurar el marco MVC en nuestro proyecto vacio, siga estos pasos:
-
Instale el paquete Microsoft.AspNet .Mvc , que nos da acceso a los ensamblados y classs proporcionados por el framework.
-
Una vez que el paquete esta instalado, necesitamos registrar todos los servicios que ASP.NET MVC necesita en tiempo de ejecucion. Haremos esto en el metodo ConfigureServices .
-
Finalmente, necesitamos agregar middleware para que ASP.NET MVC reciba las solicitudes. Basicamente, este middleware toma una solicitud HTTP e intenta dirigir esa solicitud a una class C # que estaremos escribiendo.
Paso 1 : acceda al Administrador de paquetes NuGet haciendo clic con el boton derecho en Administrar paquetes NuGet. Instale el paquete Microsoft.AspNet.Mvc, que nos da acceso a los ensamblados y classs proporcionados por el marco.
Paso 2 - Una vez que el paquete Microsoft.AspNet.Mvc esta instalado, deberia registrar todos los servicios requeridos por ASP.NET Core MVC en tiempo de ejecucion. Lo haremos con el metodo ConfigureServices. Tambien agregaremos un controlador simple y veremos la salida de ese controlador.
Agreguemos una nueva carpeta a este proyecto y llamemosla Controladores . En esta carpeta podemos colocar multiples controladores como se muestra a continuacion en el Explorador.lutions.
Ahora haga clic derecho en la carpeta Controladores y seleccione la opcion de menu Agregar → Clase .
Paso 3 : aqui queremos agregar una class C # simple, y llamar a esta class HomeController , luego hacer clic en el boton Agregar como en la captura de pantalla de arriba.
Esta sera nuestra pagina predeterminada.
Paso 4 : definamos un metodo publico unico que devuelva una cadena y llamemos a ese metodo Index como se muestra en el siguiente programa.
using System; utilizando System.Collections.Generic; utilizando System.Linq; usando System.Threading.Tasks; espacio de nombres FirstAppdemo.Controllers {public class HomeController {public string Index () {return "¡Hola, mundo! Este mensaje es de Home Controller ...}}}
Paso 5 - Cuando vaya a la raiz del sitio web, querra ver la respuesta del controlador. A partir de ahora, le serviremos nuestroarchivo index.html.
Vayamos a la raiz del sitio web y eliminemos index.html. Queremos que el controlador responda en lugar del archivo index.html .
Paso 6 : ahora vaya al metodo Configure en la class Startup y agregue la pieza de middleware UseMvcWithDefaultRoute .
Paso 7 : ahora actualice la aplicacion en la raiz del sitio.
Encontrara un error 500. El error dice que el marco de trabajo no pudo encontrar los servicios ASP.NET Core MVC necesarios.
El propio ASP.NET Core Framework esta formado por diferentes componentes pequenos que tienen responsabilidades muy especificas.
Por ejemplo, hay un componente que necesita ubicar e instanciar el controlador.
Este componente debe estar en la coleccion de servicios para que ASP.NET Core MVC funcione correctamente.
Paso 8 : ademas de agregar el paquete NuGet y el middleware, tambien necesitamos agregar el servicio AddMvc en ConfigureServices. Aqui esta la implementacion completa de la class Startup.
usando Microsoft.AspNet.Builder; utilizando Microsoft.AspNet.Hosting; utilizando Microsoft.AspNet.Http; utilizando Microsoft.Extensions.DependencyInjection; utilizando Microsoft.Extensions.Configuration; espacio de nombres FirstAppDemo {inicio de class publica {inicio publico () {var builder = new ConfigurationBuilder () .AddJsonFile ( "AppSettings.json "); Configuracion = constructor.Build } Configuracion de IConfiguration publica {get; juntos; } // Este metodo es llamado por el tiempo de ejecucion. // Utilice este metodo para agregar servicios al contenedor. // Para obtener mas informacion sobre la configuracion de su aplicacion, // visite http: //go.microsoft.com/fw/? LinkID = 398940 "publicvoidConfigureServices(IServiceCollectionservices){services.AddMvc}//Estemetodoesllamadoporeltiempodeejecucion.//UseestemetodoparaconfigurarlacanalizaciondesolicitudesHTTP.Configurepublicvoid(aplicacionIApplicationBuilder){app.UseIISPlatformHandlerapp.UseDeveloperExceptionPageapp.UseRuntimeInfoPageapp.UseFileServerapp.UseMvcWithDefaultRouteapp.Run((context)=>{varmsg=Configuration["message "]; espera context.Response.WriteAsync (msg);}); } // Punto de entrada de la aplicacion. public static void Main (string args) => WebApplication.Run (args); }}
Paso 9 : guarde el archivo Startup.cs y vaya al navegador y actualicelo. Ahora recibira una respuesta de nuestra casa de control .