2011-03-26 187 views
0

是否可以在不使用DependencyResolver的情況下將依賴注入到MVC ViewPage(必須支持佈局頁面)?ASP.NET MVC視圖依賴注入無依賴關係解析?

我寧願不要使用DependencyResolver(我在過去將NH會話注入ActionFilters時會出現主要問題(漏到各處))。但是,我不確定是否有替代方案?

我所擁有的另一個複雜性是DependencyResolver需要知道租戶(每個租戶都有自己的(StructureMap)容器)。我目前通過傳入我的租戶容器旋轉變壓器的懶實例這樣做(似乎這是必要的,否則解析器緩存):

public SmDependencyResolver(Func<ISiteContainerResolver> containerResolver) 
{ 
    this.containerResolver = containerResolver; 
} 

public object GetService(Type serviceType) 
{ 
    var container = containerResolver().Resolve(); 

如果我最終使用DependencyResolver我要拋棄我的StructureMap控制器廠自它看起來像DependencyResolver處理這呢?

感謝 本

回答

1

鑑於DependencyResolver所使用ASP.NET MVC框架的很多方面依賴注入如果你用它你的生活會更容易 - 因爲你說這意味着你沒有需要您自己的控制器工廠版本。

也就是說,該框架非常靈活,並且始終可以爲您插入自己的版本 - 我只是希望在KISS原則上儘可能少地創建自己的代碼。