Kategorien: Alle - configuraciones - controlador - enrutamiento - entorno

von Leobardo Ramirez Calderón Vor 3 Jahren

285

Fundamentos de ASP.NET Core

En ASP.NET Core, el enrutamiento es un componente esencial que permite asignar patrones de URL a controladores, ya sea una página de Razor, un método de acción en un controlador MVC o middleware.

Fundamentos de
ASP.NET Core

Fundamentos de ASP.NET Core

Enrutamiento

Una ruta es un patrón de URL que se asigna a un controlador. El controlador suele ser una página de Razor, un método de acción en un controlador MVC o un middleware. El enrutamiento de ASP.NET Core le brinda control sobre las URL que usa su aplicación. El enrutamiento es responsable de hacer coincidir las solicitudes HTTP entrantes y enviar esas solicitudes a los puntos finales ejecutables de la aplicación. Los puntos finales son las unidades de código ejecutable de manejo de solicitudes de la aplicación. Los puntos finales se definen en la aplicación y se configuran cuando se inicia la aplicación. El proceso de coincidencia de puntos finales puede extraer valores de la URL de la solicitud y proporcionar esos valores para el procesamiento de la solicitud. Con la información de los puntos finales de la aplicación, el enrutamiento también puede generar URL que se asignan a los puntos finales.

Servidores

Una aplicación ASP.NET Core se ejecuta con una implementación de servidor HTTP en proceso. La implementación del servidor escucha las solicitudes HTTP y las muestra a la aplicación como un conjunto de características de solicitud compuestas en un HttpContext.
KESTREL

es el servidor web predeterminado especificado por las plantillas de proyecto ASP.NET Core.

Middleware

La canalización de gestión de solicitudes se compone de una serie de componentes de middleware. Cada componente realiza operaciones en un HttpContexte invoca el siguiente middleware en la canalización o finaliza la solicitud. Middleware es software que se ensambla en una canalización de aplicaciones para manejar solicitudes y respuestas.

clase startup en ASP .NET Core

Las aplicaciones ASP.NET Core usan una clase Startup, que se denomina Startup por convención. La clase Startup:


Configuraciones específicas por entorno

Si en la clase de inicialización seleccionada según la convención usada existe un método llamado Configure[EnvironmentName], por ejemplo onfigureRelease(), se usará éste en lugar de Configure(). Si existe una clase llamada Startup[EnvironmentName], por ejemplo StartupDevelopment, se usará ésta en lugar de la clase por defecto Startup. De la misma forma, si existe un método llamado Configure[EnvironmentName]Services, como por ejemplo ConfigureDevelopmentServices(), se usará éste en lugar de ConfigureServices().
En cualquier caso, si queremos hacer uso de esta característica y crear configuraciones distintas para cada entorno de ejecución, podemos optar por una o varias de las siguientes convenciones:
Existe una variante en el nombrado de la clase y sus métodos que permite especificar distintas configuraciones de arranque en función del nombre del entorno en el que estemos ejecutando la aplicación. Los nombres de entorno son configurables, por ejemplo podemos tener un entorno llamado “development” para el desarrollo, otro llamado “release” para producción, “staging” para pruebas, etc.

Raíz Web

La raíz web es la ruta base para archivos de recursos estáticos públicos como: • Hojas de estilo ( .css) • JavaScript ( .js) • Imágenes ( .png , .jpg)

Raíz de Contenido

La raíz del contenido es la ruta base para: • El ejecutable que aloja la aplicación ( .exe ). • Ensamblados compilados que componen la aplicación ( .dll). • Archivos de contenido utilizados por la aplicación, como: • Archivos de Razor( .cshtml, .razor) • Archivos de configuración ( .json, .xml) • Archivos de datos ( .db) • La raíz web, normalmente la carpeta wwwroot.

Configuración

La configuración en ASP.NET Core se realiza mediante uno o más proveedores de configuración. Los proveedores de configuración leen datos de configuración de pares clave-valor utilizando una variedad de fuentes de configuración. De forma predeterminada , las aplicaciones ASP.NET Core están configuradaspara leer desde appsettings.json, las variables de entorno, la línea de comandos y más. Cuando se carga la configuración de la aplicación, los valores de las variables de entorno anulan los valores de appsettings.json.

Host

Al inicio, una aplicación ASP.NET Core crea un host. El host encapsula todos los recursos de la aplicación, como: • Una implementación de servidor HTTP • Componentes de middleware • Inicio sesión • Servicios de inyección de dependencia (DI) • Configuración

Convenciones de la clase Startup

Por tanto, teniendo en cuenta las convenciones, el siguiente código es una clase de inicialización válida.
Debe llamarse Startup, y ser pública e instanciable. Puede encontrarse en cualquier espacio de nombres, aunque el sistema la localizará más rápidamente si está en el espacio de nombres raíz del proyecto (por ejemplo, MyApp.StartUp). Debe contener, como mínimo, un método llamado Configure() de tipo void, que es el que se ejecutará justo al iniciar la aplicación. Podríamos decir que este método el equivalente al clásico Application_Start()
Cuando arranca una aplicación web, los componentes de infraestructura de ASP.NET Core buscan esta clase en su ensamblado principal, produciéndose un error si no se encuentra. Para que todo funcione bien esta clase de inicialización debe cumplir una serie de requisitos que se describen a continuación: