我有以下两个类
public class RepositoryConnection : IRepositoryConnection{
public RepositoryConnection(IConfiguration configuration, ILogger<RepositoryConnection> logger){
//STUFF
}
}
public class AuthenticationTokenFactory : IAuthenticationTokenFactory {
public AuthenticationTokenFactory(ILogger<AuthenticationTokenFactory> logger) {
//STUFF
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的 Startup.cs
public class Startup {
public Startup(IConfiguration configuration) {
Configuration = configuration;
}
public void ConfigureServices(IServiceCollection services) {
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
services.AddSingleton<IAuthenticationTokenFactory, AuthenticationTokenFactory>();
services.AddSingleton<IRepositoryConnection,RepositoryConnection>();
}
}
Run Code Online (Sandbox Code Playgroud)
我可以成功注入IAuthenticationTokenFactory控制器,但是当我尝试注入时IRepositoryConnection出现以下错误?
InvalidOperationException: 没有类型的服务?'TrainingCommerce.Accessors.RepositoryConnection' 已被注册。
感谢评论,我立即注意到我的错误方式。我试图在另一条线路上访问
var debug = ControllerContext.HttpContext.RequestServices.GetRequiredService<RepositoryConnection>();
Run Code Online (Sandbox Code Playgroud)