2009-12-23 28 views
2

我在工作中使用IBatis.NET和Spring.NET,我想弄清楚我是否可以利用這兩個/兩個框架來實現對每個呼叫到我的DAL層的「每個請求緩存」 。換句話說,每當HTTP請求由ASP.NET提供服務時,我都希望首先調用DAL方法來訪問遠程數據庫,但之後所有調用都將從緩存中充值。在ASP.NET中按請求緩存?

我見過幾個articles描述了一種使用HttpContext.Current來實現這一點的方法,但我無法忍受用System.Web引用污染我的DAL層的想法。如果可能的話,我也想利用這些框架,因爲我不喜歡重新發明輪子。

回答

2

我對IBatis.NET沒有專家,並集成了Spring.NET最有可能更感謝欠缺,但這裏不用..

我想創建一個使用HttpContext.Current.Items定製ICACHE實現。然後,我將使用Spring.NET AOP代理DAL層對象(它們在接口後面,是不是?)。那麼這只是使用AOP框架應用緩存建議的問題。

您應該可以通過遵循關於AOP緩存的Spring.NET文檔來實現此目的,並使用Spring.NET的ASP.NET緩存實現作爲起點來實現ICache。