Jos*_*osh 3 ninject inversion-of-control ninject-extensions
我似乎无法获得ninject自动创建ILogger的实例.我在我的测试应用程序中设置了log4net并正确配置但由于某种原因,当我实例化IHouseholdRepository时,它无法解决ILogger.
根据这篇文章,我已经做了我需要做的一切: 如何在我的MVC3项目中正确配置Ninject.Extensions.Logging.Log4Net
[TestMethod]
public void TestMethod1()
{
var kernel = new StandardKernel();
kernel.Bind<IHouseholdRepository>().To<HouseholdRepository>();
var repo = kernel.Get<IHouseholdRepository>();
var hh = repo.Find(123456);
}
Run Code Online (Sandbox Code Playgroud)
public HouseholdRepository(ILogger logger, string username)
{
_logger = logger;
_username = username;
_dbContext = new HouseholdDbContext(logger); // I want to couple my HouseholdDBContect to my repository as it's not going to work with any other DbContext
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
测试方法Rxxx.Tests.LoggingTester.TestMethod1引发异常:Ninject.ActivationException:激活ILogger时出错没有匹配的绑定可用,并且该类型不可自绑定.激活路径:2)将依赖ILogger注入到HouseholdRepository类型的构造函数的参数logger中1)对IHouseholdRepository的请求
建议:1)确保已为ILogger定义了绑定.2)如果在模块中定义了绑定,请确保已将模块加载到内核中.3)确保您没有意外创建多个内核.4)如果使用构造函数参数,请确保参数名称与构造函数参数名称匹配.5)如果使用自动模块加载,请确保搜索路径和过滤器正确无误.
| 归档时间: |
|
| 查看次数: |
2022 次 |
| 最近记录: |