簡體   English   中英

在MVC3中對操作方法參數進行Ninject依賴注入

[英]Ninject Dependency Injection on Action Method Parameters in MVC3

我想使用NInject.MVC3來解析在控制器上調用Action方法時要實例化的具體類。 因此,例如:

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

        return View();
    }

顯然,沒有依賴項注入,MVC3無法實例化IMyModelInterface,但我可以將該接口綁定到實現此接口的具體類。

我已經嘗試過了,只是從嘗試實例化接口的MVC框架中得到了錯誤。

那么,首先,這是一件不好的事情嗎?

如果這不是愚蠢的事情,該怎么辦?

如果這是一件壞事,我應該怎么做。 我曾考慮過使用ViewModel然后將參數復制過來? 我有點不願意這樣做,因為我的模型包含供視圖使用的所有不錯的驗證屬性-並且必須在ViewModel中重復此操作,這似乎增加了維護開銷。

我已經看到使用Autofac 執行此操作的問題。

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

您可能可以實現自己的模型活頁夾來執行此操作。

子類DefaultModelBinder,重寫CreateModel並在此方法中使用Ninject返回適當的類型。

Ninject不允許您在此類方法中注入依賴項,如您在此處閱讀。
您應該通過控制器的構造函數,屬性或setter方法注入依賴項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM