我想知道這是否可能。我有一個典型的MVC處理法,看起來像這樣的簽名:MVC動作方法的依賴注入
public ActionResult View(MyModel model)
{
IAnObject myObject = new AnObject();
//several lines of code follow.....
return View(model);
}
我想擺脫new
關鍵字,並注入IAnObject實例進入操作方法。但我不確定MVC是否允許這樣做,在動作方法中將模型注入模型中?有沒有人遇到過這個問題,並且有解決方法嗎? (我們的IoC容器是Windsor,萬一有所作爲)
是否有一個原因是你在方法而不是在類級別注入對象? –
同意@JordanKaye。即使ActionResult方法注入是可能的,你從中得到了什麼?如果可能的話,我會事先使用構造函數注入來創建對象或其工廠。 –
@Jordan&Thomas--你提出了很好的觀點。我在這裏考慮過注入方法,因爲這是創建和使用對象的地方。我想讓對象的範圍儘可能接近原來的位置。也就是說,如果construtctor injection是最好的方式去做這件事,我們可以重構。 – larryq