小编Has*_*ngü的帖子

Asp.Net Core 没有注册类型的服务

我有以下两个类

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)

dependency-injection asp.net-core

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

asp.net-core ×1

dependency-injection ×1