【发布时间】:2016-12-07 00:33:52
【问题描述】:
我看到很多关于如何在 .NET Core 中使用 DI 的代码示例,但是没有一个使用构造函数参数。
例如:
- 创建授权服务
- 在构造函数中注入当前的HTTP头(X-Api-Key)
- 在实施中检查我是否有权访问
在这里,我不仅需要在我的IAuthorizationService 上使用 DI,还需要在构造函数中注入令牌。我知道如何在 Ninject 中做到这一点,但是没有 .NET Core DI 的经验。
这是我的例子。
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddEntityFrameworkSqlite();
services.AddDbContext<MainDbContext>();
services.AddScoped<IAuthorizationService, AuthorizationService>(); // Inject current HttpContext header value as a constructor?
}
【问题讨论】:
-
需要注入token,还是可以为提供token的类注入接口?
-
@ScottHannen 嗯,我猜这并不重要。但是令牌会更好,因为那时可测试性会更容易。
标签: c# dependency-injection asp.net-core .net-core