我在使用MVC的contrib便攜領域的外部組件MVC3控制器,但我有越來越Ninject注入構造函數依賴關係的問題。使用Ninject與MVC3控制器,在外部組件
控制器被發現,但我得到「此對象定義無參數的構造函數」的異常。我可以看到ninject的控制器工廠正在調用堆棧中調用,但對於外部程序集,它只是不通過我的數據庫會話。
這是爲什麼?
我在使用MVC的contrib便攜領域的外部組件MVC3控制器,但我有越來越Ninject注入構造函數依賴關係的問題。使用Ninject與MVC3控制器,在外部組件
控制器被發現,但我得到「此對象定義無參數的構造函數」的異常。我可以看到ninject的控制器工廠正在調用堆棧中調用,但對於外部程序集,它只是不通過我的數據庫會話。
這是爲什麼?
你需要使用Ninject的RegisterAllControllersIn方法註冊中的其他組件的控制器。
這是我在Global.asax中的applicationstarted方法實現:
foreach (var ass in BuildManager.GetReferencedAssemblies().Cast<Assembly>())
{
RegisterAllControllersIn(ass);
}
也許你應該更新Ninject。 RegisterAllControllersIn
來自很久以來已過時的版本。