gpt4 book ai didi

c# - Ninject 对 MVC3 中 Action 方法参数的依赖注入(inject)

转载 作者:太空宇宙 更新时间:2023-11-03 18:41:41 24 4
gpt4 key购买 nike

我想使用 NInject.MVC3 来解决在 Controller 上调用 Action 方法时要实例化的具体类。例如:

    [HttpPost]
public ActionResult Index(IMyModelInterface model)
{
// do something

return View();
}

显然,如果没有依赖注入(inject),MVC3 无法实例化 IMyModelInterface,但我可以将该接口(interface)绑定(bind)到实现该接口(interface)的具体类。

我已经试过了,只是从试图实例化接口(interface)的 MVC 框架中得到了错误。

那么,首先,尝试这样做是不是一件坏事?

如果这不是一件愚蠢的事情,我该怎么做?

如果这是一件坏事,我还应该怎么做。我考虑过使用 ViewModel 然后复制参数吗?我不太愿意这样做,因为我的模型包含 View 使用的所有良好验证属性 - 并且必须在 ViewModel 中复制它,这似乎增加了维护开销。

我已经看到了 doing this 的 SO 问题使用 Autofac。

我正在使用 Nuget 包中的最新版本的 NInject 和 NInject.MVC3。

最佳答案

您可能可以实现自己的模型绑定(bind)器来执行此操作。

子类 DefaultModelBinder,覆盖 CreateModel 并在此方法中使用 Ninject 返回适当的类型。

关于c# - Ninject 对 MVC3 中 Action 方法参数的依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8171309/

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