我了解配置服务时
AddTransient()
、AddScoped()
和AddSingleton()
之间的区别。但我很难找到有关 Configure()
的好信息。
看来我可以互换使用它们。我看到的唯一真正的区别是,当您使用
Configure()
时,您必须处理那个有点烦人的 IOptions
组件。
关于何时应该使用
Configure()
代替任何 Add...
方法,是否有硬性规定?有人可以链接到一篇关于此的好文章吗? (每次我谷歌它,我都会得到关于AddTransient()
,AddScoped()
和AddSingleton()
之间差异的讨论。)
AddSingleton
、AddScoped
和 AddTransient
将定义您添加到容器中的服务的生命周期。 使用寿命
配置方法正在处理http请求管道(您可以在其中设置中间件,授权,身份验证...等)。
Configure方法用于指定应用程序如何响应HTTP 要求。通过添加中间件来配置请求管道 组件到 IApplicationBuilder 实例。 IApplicationBuilder 是 可用于Configure方法,但它没有在 服务容器。
例如 ASP.NET Core 模板使用以下命令配置请求管道:
- 开发者异常页面
- 异常处理程序
- HTTP 严格传输安全 (HSTS)
- HTTPS 重定向
- 静态文件
- ASP.NET Core MVC 和 Razor 页面