我需要創建一個單身人士,將持有大量的數據爲特定的用戶。然而,我不清楚該單身人士在多用戶應用程序請求方面的行爲。單身人士行爲與ASP.NET中的多用戶請求
下面是這種情況:
在AppStart的事件我想加載所有用戶共同的數據(從SQL),它的ASP.NET存儲機制內的某處存儲爲一個集合。 (任何指向它應該去的地方將不勝感激!我正在考慮緩存。)
如果我將該數據存儲在緩存中,我還必須在Global.asax中創建一個靜態屬性,提供對來自緩存的數據的訪問。
因爲每當有什麼任何特定頁面的一個實例,或一般的處理程序,或者你有嘗試查詢使用LINQ的酒店從緩存加載數據...引入延遲這個數據這是不理想的。我需要這些數據立即可用。 (把它想象成大約5K行數據存儲在對象集合中......)
我正在考慮使用單例來獲取該數據並存儲它,但我不知道它在請求之間的行爲方式(和回發),以及應用程序實例在其持久性方面。
在PostAuthenticate事件我想從SQL得到一個集合的形式的用戶特定的數據。如果我將它存儲爲單例(與普通數據類似),我不清楚:
- 數據如何持久?
- 單身人士的範圍是什麼(應該是在用戶會話期間)。
- 我該如何確保數據可以立即用於需要消費的任何需求?
- 後衛對那個單身人士之間會發生什麼?
- 如果另一個用戶登錄,那麼會爲該特定應用程序實例創建該單例的另一個實例?