解释 ASP.NET Core 中 Startup 类的用途

Startup 类配置应用程序的服务并定义中间件管道。

一般来说,Program 类是您配置应用程序基础结构的地方,例如 HTTP 服务器、与 IIS 的集成和配置源。相比之下,Startup 类定义了您的应用程序使用哪些组件和功能,以及您的应用程序的中间件管道。

启动文件

这是Startup.cs标准ASP.NETCore 应用程序中的示例文件。

using System;

using System.Collections.Generic;

using System.Linq;

using System.Threading.Tasks;

using Microsoft.AspNetCore.Builder;

using Microsoft.AspNetCore.Hosting;

using Microsoft.AspNetCore.HttpsPolicy;

using Microsoft.Extensions.Configuration;

using Microsoft.Extensions.DependencyInjection;

using Microsoft.Extensions.Hosting;

namespace nhooo{

   public class Startup{

      public Startup(IConfiguration configuration){

         Configuration = configuration;

      }

      public IConfiguration Configuration { get; }

      //此方法由运行时调用。使用此方法向容器添加服务。

      public void ConfigureServices(IServiceCollection services){

         services.AddControllersWithViews();

      }

      //此方法由运行时调用。使用此方法配置 HTTP 请求管道。

      public void Configure(IApplicationBuilder app, IWebHostEnvironment env){

         if (env.IsDevelopment()){

            app.UseDeveloperExceptionPage();

         }

         else{

            app.UseExceptionHandler("/Home/Error");

            // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.

            app.UseHsts();

         }

         app.UseHttpsRedirection();

         app.UseStaticFiles();

         app.UseRouting();

         app.UseAuthorization();

         app.UseEndpoints(endpoints =>{

            endpoints.MapControllerRoute(

               name: "default",

               pattern: "{controller=Home}/{action=Index}/{id?}");

         });

      }

   }

}

启动类包含两个方法:

  • ConfigureServices():注册您的应用程序需要的服务。

  • Configure(): 配置控制应用程序如何处理 HTTP 请求和发送响应的中间件管道。 

服务

服务是模块化、松散耦合的组件,专注于完成一项任务,例如缓存、身份验证等。在ASP.NETCore 中,服务只是为应用程序提供特定功能的 C# 类。 

您可以使用第三方 Nuget 库提供的服务,也可以自己编写。无论在何处创建它们,都必须在ConfigureServices()方法中进行配置。

Startup 类使用一个 IServiceCollection 来保存您的应用程序需要的所有服务。它还配置依赖注入 (DI)。所以这些服务会被 DI 容器自动注入到你的代码中。

中间件

中间件定义了应用程序将如何处理传入的 HTTP 请求。它还在输出时处理 HTTP 响应。

中间件由按顺序执行以转换传入请求或传出响应的小模块组成。中间件可以执行各种任务,包括日志记录、身份验证和授权、服务静态文件、错误处理等。

需要注意的一件重要事情是中间件的顺序很重要。该ASP.NET核心框架执行中,将其定义的顺序相同中间件代码。

 

以上是 解释 ASP.NET Core 中 Startup 类的用途 的全部内容, 来源链接: utcz.com/z/322765.html

回到顶部