在.NET Core应用程序中,
ConfigureServices
和
Configure
方法在Startup类中起着重要的作用。
ConfigureServices
方法用于进行依赖注入的配置。在该方法内,你可以注册应用程序所需要的各种服务、中间件和其他依赖项。它接收一个
IServiceCollection
参数,你可以通过调用该参数的方法来注册服务。示例代码:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddSingleton<IMyService, MyService>();
services.AddScoped<PermissionFilter>();
services.AddScoped<IAuthorizationHandler, GroupRequirementHandler>();
}
在上面的示例中,我们使用
AddMvc
方法注册了MVC服务,使用
AddSingleton
方法注册了一个单例服务。
Configure
方法用于配置应用程序的HTTP请求处理管道。在该方法内,你可以添加中间件,配置路由、授权、异常处理等。它接收一个
IApplicationBuilder
参数,你可以通过调用该参数的方法来添加中间件和配置管道。示例代码:
public void Configure(IApplicationBuilder app)
{
app.UseStaticFiles();
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
//...其他中间件
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
在上面的示例中,我们使用
UseStaticFiles
、
UseRouting
、
UseAuthentication
、
UseAuthorization
等方法来添加内置的中间件到管道中。
-
ConfigureServices
方法在应用程序启动时执行,它负责配置服务的注册。 -
Configure
方法在启动时执行,它负责配置中间件和管道的顺序。
通过这两个方法的配合使用,你可以完成应用程序所需的服务注册和管道配置,使得应用程序可以以正确的方式处理HTTP请求。