我们如何将服务依赖项注入到控制器C#Asp.net Core中?
ASP.NETCore使用内置的IoC容器通过构造函数或方法注入依赖关系类的对象。
内置容器由IServiceProvider实现表示,该实现默认情况下支持构造函数注入。内置IoC容器管理的类型(类)称为服务。
为了让IoC容器自动注入我们的应用程序服务,我们首先需要在IoC容器中注册它们。
示例
public interface ILog{
void info(string str);
}
class MyConsoleLogger : ILog{
public void info(string str){
Console.WriteLine(str);
}
}ASP.NETCore允许我们在Startup类的ConfigureServices方法中向IoC容器注册我们的应用程序服务。ConfigureServices方法包括IServiceCollection类型的参数,该参数用于注册应用程序服务
ConfigureServices()如下所示,用IoC容器注册ILog。
public class Startup{
public void ConfigureServices(IServiceCollection services){
services.AddSingleton<ILog, MyConsoleLogger>();
}
}IServiceCollection实例的Add()方法用于向IoC容器注册服务
我们已将ILog指定为服务类型,并将MyConsoleLogger指定为其实例。这将把ILog服务注册为单例现在,一个IoC容器将创建MyConsoleLogger类的单例对象,并将其注入到我们将ILog作为构造函数或方法包括在内的类的构造函数中整个应用程序中的参数。
热门推荐
10 圣诞祝福语简短小学
11 祖国七十华诞简短祝福语
12 老师送的祝福语简短
13 生日祝福语大全女生简短
14 祝女性生日祝福语简短
15 牛年女神节祝福语简短
16 情人表白祝福语简短大气
17 老公开业祝福语简短
18 官宣新年祝福语简短