ASP.NET 3.1 Core en la categoría de inicio

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  StartupStartup 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 utilizar  IApplicationBuilder, pero no registrada en el recipiente de servicio. Alojado crear  IApplicationBuilder y pasar directamente a  Configure.

    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, como  IWebHostEnvironment, ILoggerFactory o  ConfigureServices 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 .

Supongo que te gusta

Origin www.cnblogs.com/puzi0315/p/12571800.html
Recomendado
Clasificación