爲ASP.NET應用程序創建Dependency Injection容器非常普遍,因此它在應用程序處於活動狀態時處於活動狀態。每個請求的依賴注入容器
我在每個請求中創建DI容器,並在請求結束時釋放它。
主要目的是任何DI容器支持處置容器時的Disposing對象。
附加:如果我需要請求(NHibernate的SessionFactory的)之間共享資源,我只是讓他們在一個靜態變量,在每次請求的對象封裝了價值。像這樣:
public class SessionFactoryAggregator : ISessionFactory {
static ISessionFactory actualFactory;
// Implement ISessionFactory and proxy calls to the actualFactory
}
這只是模擬的singleton模式。
我的問題:
- 它是確定這樣做呢?
- 如果不是爲什麼,應該做些什麼呢?
- 此方法中的任何已知性能問題?
更新:在我使用溫莎城堡通過我自己的DI提供商的抽象的時刻,所以實際的容器是可插拔的。
謝謝。