2009-09-13 22 views
0

目前,我創建了我的自定義PerWebRequestLifetimeManager使用HttpContext.Current.Items作爲後備存儲。我使用Linq2Sql DataContext的生命週期管理器。
Eveything工作正常,直到我需要使用緩存來存儲數據(5分鐘)。 5分鐘後,我需要從數據庫檢索數據並將其放入緩存。爲此,我需要使用Linq2Sql DataContext來檢索數據。但在此期間,HttpContext.Current爲空,因爲緩存過期時發生了這種情況;不在Web請求中。
那麼,我應該在這種情況下使用什麼樣的LifetimeManager?PerWebRequest LifetimeManager和超越(Asp.net Mvc)

在此先感謝。

回答

0

你需要一個長期存在的DataConext?使用容器LifeTimeManager。我將創建一個駐留在應用程序級別的容器(可能位於您的Global.asax中),然後使用它來解析您的DataContext以適應此特定方案。

我會避免希望東西保留在緩存中,而是可以看看是否可以異步運行該任務。

希望這會有所幫助。