标签:imu 情况 error 静态文件 check col string 程序 ogg
Startup类用于配置服务和应用的请求管道。
1.使用ConfigureServices方法选择性的配置应用的服务,如Mvc。服务是一个提供应用功能的可重用组件。在ConfigureServices方法中注册服务,并通过依赖注入或ApplicationServices在整个应用中使用服务。
2.使用Configure方法来创建应用的请求处理管道,注册中间件。
在构建应用主机时指定 Startup 类。 通常,通过在Program.cs中调用 UseStartup<TStartup> 方法来指定 Startup 类。在应用启动时,ASP.NET Core 运行时会调用 ConfigureServices 和 Configure,必须定义Configure,ConfigureServices 可以选择的定义。
public class Program { public static void Main(string[] args) { CreateWebHostBuilder(args).Build().Run(); } public static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup<Startup>(); }
ConfigureServices是可以配置的、配置选项按约定设置,在Configure方法之前执行,并由主机调用以配置应用程序的服务。在调用Startup之前主机webhost会自己配置某些服务,例如Logging、依赖关系注入 (DI) 服务等。
对于需要大量设置的功能,IServiceCollection 上有 Add{Service}
扩展方法。 例如,AddDbContext、AddDefaultIdentity、AddEntityFrameworkStores 和 AddRazorPages
将服务添加到服务容器,使其在应用和 Configure
方法中可用。 服务通过依赖关系注入或 ApplicationServices 进行解析。
public void ConfigureServices(IServiceCollection services) { services.Configure<CookiePolicyOptions>(options => { // This lambda determines whether user consent for non-essential cookies is needed for a given request. options.CheckConsentNeeded = context => true; options.MinimumSameSitePolicy = SameSiteMode.None; }); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); }
Configure用于构建请求管道的中间件,来处理http请求,例如处理异常、静态文件等。
每个 Use
扩展方法将一个或多个中间件组件添加到请求管道,例如UseStaticFiles 配置中间件提供静态文件。请求管道中的每个中间件组件负责调用管道中的下一个组件,或在适当情况下使链发生短路。可以在 Configure
方法签名中指定其他服务,如 IWebHostEnvironment
、ILoggerFactory
或 ConfigureServices
中定义的任何内容。 如果这些服务可用,则会被注入。
public void Configure(IApplicationBuilder app, IHostingEnvironment 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.UseCookiePolicy(); app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); }); }
不使用Startup的话需要在Host上调用ConfigureServices和Configure方法,多次调用ConfigureSerivces将会追加到下一个方法,但是多次调用Configure只会使用最后一个调用的Configure方法。
public static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder(args) .ConfigureServices(services => { services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); }) .Configure(app => { app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseCookiePolicy(); });
标签:imu 情况 error 静态文件 check col string 程序 ogg
原文地址:https://www.cnblogs.com/xwc1996/p/13336098.html