小谈 startup 类 ConfigureServices 方法的作用
这个是我在面试中遇到的一道面试题,记录下来分享给大家。简单说 ConfigureServices 是配置服务器的 DI 容器,可以添加一些服务进到依赖注入容器中。具体来说就是把中间件等添加到 DI 容器中,最后都是添加到 IServiceCollection 中,比如下面的代码:
复制代码
对于.AddProfileService()来说它已经内置了一个默认实现 IProfileService 接口的类,默认注入内置的 DefaultProfileServer。其实里面的实现是当遇到 IProfileService 实例化成自定义类 ProfileService,而不使用内置的。ASP.NET Core 依赖注入在应用程序启动时提供服务。我们可以通过在 Startup 类的构造方法或 Configure 方法中包含适当的接口作为参数来请求这些服务。ConfigureServices 方法只能接受 IServiceCollection 参数,但是可以从这个集合中检索任何已注册的服务,因此不需要额外参数。下面由启动方法请求的服务:
Startup 类构造方法或 Configure 方法可以请求由 WebHostBuilde ConfigureServices 方法添加的任何服务。使用 WebHostBuilder 在启动方法中提供需要的任何服务。
版权声明: 本文为 InfoQ 作者【喵叔】的原创文章。
原文链接:【http://xie.infoq.cn/article/0d620fe8f57147056e99a0dbe】。未经作者许可,禁止转载。
评论