.NET Core:依赖注入
在Startup的ConfigureServices方法中加入需要依赖注入的东西。
每次从容器 中获取的时候都是一个新的实例:services.AddTransient<ITransient, Transient>();
每次从同一个容器中获取的实例是相同的(一个请求内时同一个实例):services.AddScoped<IScoped, Scoped>();
每次从同根容器中获取的时候都是同一个实例(全局同一个实例):services.AddSingleton<ISingleton, Singleton>();
注入配置信息:
services.Configure<Config>(config =>
{
config.DbConnectionString = connStr;
});
在控制器中可以由构造函数注入,也可以由Action注入,有时候在你的控制器中你不需要为超过一个 Action 使用的服务。在这种情况下,将服务作为 Action 方法的一个参数是有意义的。这是通过使用特性 [FromServices] 标记参数实现。