[英]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.