docs.microsoft.com上的文档规定以下内容:
使用ConfigureServices方法将服务添加到容器。
使用Configure方法配置HTTP请求管道。
有人可以用简单的例子解释一下,向容器添加服务是什么意思,以及配置HTTP请求管道是什么意思?
答案 0 :(得分:12)
简而言之:
ConfigureServices
用于配置依赖注入
public void ConfigureServices(IServiceCollection services)
{
// register MVC services
services.AddMvc();
// register configuration
services.Configure<AppConfiguration>(Configuration.GetSection("RestCalls"));
// register custom services
services.AddScoped<IUserService, UserService>();
...
}
Configure
用于设置中间件,路由规则等
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
// configure middlewares
app.UseMiddleware<RequestResponseLoggingMiddleware>();
app.UseMiddleware<ExceptionHandleMiddleware>();
app.UseStaticFiles();
// setup routing
app.UseMvc(routes =>
{
routes.MapRoute(
name: "Default",
template: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = 1 });
});
}
阅读ASP.NET Core fundamentals以了解其详细信息。
答案 1 :(得分:7)
ConfigureServices
中的项目是 Dependency Injection
的一部分,例如记录器、数据库等。这些东西与 http 请求直接没有关联。
configure
中的项目是 http 请求的一部分,例如路由、中间件、静态文件,所有这些都会在用户发出请求时直接触发。