ASP .NET控制器操作方法可以將接口作爲參數之一嗎?控制器可以將接口實例作爲參數嗎? ASP .NET MVC
我想有這樣的:
class MyController
{
[HttpPost]
public ActionResult Action(IMyModel model) {...}
}
這可能嗎?很明顯,我將不得不告訴框架應該實例化哪個IMyModel的具體實現,但是如何實現?
ASP .NET控制器操作方法可以將接口作爲參數之一嗎?控制器可以將接口實例作爲參數嗎? ASP .NET MVC
我想有這樣的:
class MyController
{
[HttpPost]
public ActionResult Action(IMyModel model) {...}
}
這可能嗎?很明顯,我將不得不告訴框架應該實例化哪個IMyModel的具體實現,但是如何實現?
或多或少everything is extensible in ASP.NET MVC所以是的;這應該是可能的。看看Model Binders,我想這就是你要找的。
開箱即用,沒有。正如andiju所說,然而,所有的東西都可以在MVC中插入。考慮到你之後的模式,我建議你使用IoC容器(Windsor,Unity,StructureMap),然後建立一個基於IoC的modelbinder和一個基於IoC的controllerbuilder。這將是最靈活的方法,並且在實際解決應用程序生命週期中的具體類型方面也是最不容易的(我認爲)。