【问题标题】:How can I use Windsor to inject a dependency into an ASP.NET MVC model?如何使用 Windsor 将依赖项注入 ASP.NET MVC 模型?
【发布时间】:2009-10-26 20:52:22
【问题描述】:

我有一个模型类需要访问我的存储库类(用于数据库访问)。

我已为我的存储库创建了一个接口,并已成功配置 Castle Windsor 以通过自定义 ControllerFactory 将我的适当的基于 IRepository 的类注入到我的控制器中。

我在弄清楚如何对我的模型做同样的事情时遇到了一些麻烦。

有人知道使用 Windsor 将依赖项注入 MVC 模型的方法吗?

顺便说一句,我需要 Windsor 来处理这个问题的原因是,当数据发布到我的控制器时,MVC 会自动实例化我的模型实例,而这种自动实例化不允许我传递任何构造函数参数。

【问题讨论】:

    标签: asp.net-mvc dependency-injection castle-windsor ioc-container


    【解决方案1】:

    你可能想看看MVC ContribCastle Binder

    但是,就我个人而言,我认为模型应该是简单的 POCO 或数据的愚蠢容器,没有任何 DI。在这种方法中,Controller 负责读取、操作和持久化数据。

    【讨论】:

    • 例如,当模型包含必须从数据库中提取的项目的 SelectList 时该怎么办?
    • 国际海事组织,它不应该。它应该包含一个 IList (或类似的),并且以某种方式填充该列表是控制器的责任。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-04
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多