gpt4 book ai didi

asp.net-mvc-3 - MVC3 Controller 无法识别具有 Ninject 依赖性的基本 Controller

转载 作者:行者123 更新时间:2023-12-04 18:21:34 24 4
gpt4 key购买 nike

我已经(正确地)连接了 Ninject 来绑定(bind) NLog。这是我的 NinjectMVC3.cs 中的 RegisterService 方法

kernel.Bind<ILogger>().To<NLogger>();

我正在尝试移植到 PetaPoco 并在这里创建了一个基本 Controller :
public class BaseController : Controller
{
protected PetaPoco.Database _database;
protected ILogger _logger;
protected MemberRepository _members;

public BaseController(ILogger logger)
{
_database = new PetaPoco.Database("TalentSiteConnection");
_members = new MemberRepository(_database);
_logger = logger;
}
}

当我像这样继承我的基本 Controller 时:
public class TestController : BaseController
{
public ActionResult Index()
{
TestViewModel model = new TestViewModel();
model.Member = _members.Single<Member>(2579);
return View("Index", model);
}

}

并尝试运行我得到的构建

'BaseController' does not contain a constructor that takes 0 arguments



我究竟做错了什么?我以为 Ninject 会解决对构造函数的依赖?

.

最佳答案

TestController 需要那个 ctor...

public class TestController : BaseController
{
public TestController(ILogger logger) : base(logger) {}

...这与 NInject 无关。如果您向 BaseController 添加了无参数 ctor 并保持 TestController 原样,您将不会获得记录器注入(inject)。

关于asp.net-mvc-3 - MVC3 Controller 无法识别具有 Ninject 依赖性的基本 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10558400/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com