写点什么

小谈 startup 类 ConfigureServices 方法的作用

作者:喵叔
  • 2021 年 11 月 28 日
  • 本文字数:568 字

    阅读完需:约 2 分钟

这个是我在面试中遇到的一道面试题,记录下来分享给大家。简单说 ConfigureServices 是配置服务器的 DI 容器,可以添加一些服务进到依赖注入容器中。具体来说就是把中间件等添加到 DI 容器中,最后都是添加到 IServiceCollection 中,比如下面的代码:


 services.AddIdentityServer()    .AddDeveloperSigningCredential()    .AddInMemoryApiResources(Config.GetResource())    .AddInMemoryClients(Config.GetClients())    .AddTestUsers(Config.GetTestUsers())    .AddProfileService<ProfileService>()    .AddResourceOwnerValidator<LoginValidator>();
复制代码


对于.AddProfileService()来说它已经内置了一个默认实现 IProfileService 接口的类,默认注入内置的 DefaultProfileServer。其实里面的实现是当遇到 IProfileService 实例化成自定义类 ProfileService,而不使用内置的。ASP.NET Core 依赖注入在应用程序启动时提供服务。我们可以通过在 Startup 类的构造方法或 Configure 方法中包含适当的接口作为参数来请求这些服务。ConfigureServices 方法只能接受 IServiceCollection 参数,但是可以从这个集合中检索任何已注册的服务,因此不需要额外参数。下面由启动方法请求的服务:



Startup 类构造方法或 Configure 方法可以请求由 WebHostBuilde ConfigureServices 方法添加的任何服务。使用 WebHostBuilder 在启动方法中提供需要的任何服务。

发布于: 3 小时前阅读数: 6
用户头像

喵叔

关注

还未添加个人签名 2020.01.14 加入

还未添加个人简介

评论

发布
暂无评论
小谈startup类ConfigureServices方法的作用