Startup
configuración de clases de servicios solicitud de tuberías y aplicaciones.
Clase de inicio
ASP.NET Core aplicaciones utilizan Startup
la clase, según lo acordado nombrado Startup
. Startup
Categorías:
- Se puede incluir opcionalmente ConfigureServices método para configurar la aplicación de servicio. Services es un proveedor de componentes reutilizables funcionalidad de la aplicación. En
ConfigureServices
los servicios de registro, ya través de (DI) Inyección de dependencias o ApplicationServices utilizan el servicio en toda la aplicación. - Solicitud de configuración incluye un método para crear una canalización de procesamiento de solicitudes.
Cuando se inicia la aplicación, se llamará el tiempo de ejecución de ASP.NET Core ConfigureServices
y Configure
:
público clase de inicio { público de inicio (configuración IConfiguration) { Configuración = configuración; } Pública Configuración IConfiguration { get ; } Públicos vacíos ConfigureServices (servicios) IServiceCollection { services.AddRazorPages (); } Pública vacío Configurar (IApplicationBuilder aplicación, IWebHostEnvironment env) { si (env.IsDevelopment ()) { app.UseDeveloperExceptionPage (); } demás { app.UseExceptionHandler ( " / Error " ); app.UseHsts (); } App.UseHttpsRedirection (); app.UseStaticFiles (); app.UseRouting (); app.UseAuthorization (); app.UseEndpoints (puntos finales => { endpoints.MapRazorPages (); }); } }
Cuando se construye el anfitrión aplicación especificada Startup
clase. Por lo general se especifica llamando WebHostBuilderExtensions.UseStartup <TStartup> método de los constructores de acogida Startup
clases:
público de clase Programa { pública estática vacío principal ( string [] args) { CreateHostBuilder (args) .build run () ().; } Pública estática IHostBuilder CreateHostBuilder ( string [] args) => Host.CreateDefaultBuilder (args) .ConfigureWebHostDefaults (WebBuilder => { webBuilder.UseStartup <inicio> (); }); }
Host proporciona Startup
constructor de la clase disponible para ciertos servicios. La aplicación por ConfigureServices
la adición de otros servicios. servicios de acogida y de aplicación se basan en Configure
el uso y en toda la aplicación.
Cuando se utiliza host genérico (IHostBuilder), escriba los siguientes servicios sólo se pueden inyectar en el Startup
constructor:
- IWebHostEnvironment
- IHostEnvironment
- IConfiguration
público de clase Programa { pública estática vacío principal ( string [] args) { CreateHostBuilder (args) .build run () ().; } Pública estática IHostBuilder CreateHostBuilder ( string [] args) => Host.CreateDefaultBuilder (args) .ConfigureWebHostDefaults (WebBuilder => { webBuilder.UseStartup <inicio> (); }); }
método ConfigureServices
método ConfigureServices:
- Opcional.
- En el
Configure
método anterior de la configuración de servicios de aplicación invocada por el anfitrión. - Que según la configuración general las opciones de configuración .
Anfitriones podrían invocar
Startup
configurar algunos servicios antes del método. Para obtener más información, consulte el anfitrión .Para la función requiere una gran cantidad de ajustes, IServiceCollection tiene el
Add{Service}
método de extensión. Por ejemplo, el Añadir DbContext, la opción Agregar DefaultIdentity, los Add EntityFrameworkStores y los Add RazorPages:público clase de inicio { público de inicio (configuración IConfiguration) { Configuración = configuración; } Pública Configuración IConfiguration { get ; } Públicos vacíos ConfigureServices (servicios) IServiceCollection { services.AddDbContext <ApplicationDbContext> (Opciones => options.UseSqlServer ( Configuration.GetConnectionString ( " DefaultConnection " ))); services.AddDefaultIdentity <IdentityUser> ( Opciones=> Options.SignIn.RequireConfirmedAccount = verdaderos ) .AddEntityFrameworkStores <ApplicationDbContext> (); services.AddRazorPages (); }
Añadir servicios al contenedor de servicios, por lo que la aplicación de los
Configure
métodos disponibles. Servicio a analizar a través de la inyección de dependencia o ApplicationServices.Métodos de configure
Configuración de un método para una aplicación dada en respuesta a las peticiones HTTP. Mediante la adición de un componente middleware configurado para canalización de solicitudes ejemplo IApplicationBuilder.
Configure
El método se puede utilizarIApplicationBuilder
, pero no registrada en el recipiente de servicio. Alojado crearIApplicationBuilder
y pasar directamente aConfigure
.ASP.NET Core ayuda de la plantilla de configuración de canalización:
- página anormal desarrolladores
- gestor de excepciones
- HTTP Strict Transport Security (HSTS)
- HTTPS redirección
- Los archivos estáticos
- ASP.NET MVC Core 和 Razor Páginas
público clase de inicio { público de inicio (configuración IConfiguration) { Configuración = configuración; } Pública Configuración IConfiguration { get ; } Públicos vacíos ConfigureServices (servicios) IServiceCollection { services.AddRazorPages (); } Pública vacío Configurar (IApplicationBuilder aplicación, IWebHostEnvironment env) { si (env.IsDevelopment ()) { app.UseDeveloperExceptionPage (); } Demás { app.UseExceptionHandler ( " / Error " ); app.UseHsts (); } App.UseHttpsRedirection (); app.UseStaticFiles (); app.UseRouting (); app.UseAuthorization (); app.UseEndpoints (puntos finales => { endpoints.MapRazorPages (); }); } }
Cada
Use
método de extensión para añadir una o más peticiones al conducto componente middleware. Por ejemplo, UseStaticFiles configurar los archivos estáticos de middleware.Cada canalización de solicitudes componente middleware es responsable de llamar al siguiente componente de canalización, o a un corto circuito en la cadena en su caso.
Puede
Configure
especificar una firma método de servicio diferente, comoIWebHostEnvironment
,ILoggerFactory
oConfigureServices
como se define en cualquier contenido. Si estos servicios están disponibles, se inyecta.Para obtener información acerca de cómo usar
IApplicationBuilder
la información detallada y la orden de procesamiento de middleware, vea ASP.NET Core middleware .