在我的ASP.NET MVC應用程序中,我允許用戶登錄。每個用戶都與一家公司相關聯。公司ID和公司數據不是數據庫中用戶表的一部分。用戶和公司通過相關的表格(一對多關係)連接。公司ID不是用戶表的一部分,因爲用戶表的設計沒有預測到這一點,我們也不允許改變它。登錄後在哪裏存儲用戶特定的設置?
當用戶登錄時,我們希望爲該用戶獲取公司ID並將其存儲在某個地方。我們稍後會使用此ID進行查詢和其他類型的公司篩選,因爲內容是按公司存儲的。
我應該在哪裏存儲公司ID設置以使其在多個Web請求中保持持久性?
在我的ASP.NET MVC應用程序中,我允許用戶登錄。每個用戶都與一家公司相關聯。公司ID和公司數據不是數據庫中用戶表的一部分。用戶和公司通過相關的表格(一對多關係)連接。公司ID不是用戶表的一部分,因爲用戶表的設計沒有預測到這一點,我們也不允許改變它。登錄後在哪裏存儲用戶特定的設置?
當用戶登錄時,我們希望爲該用戶獲取公司ID並將其存儲在某個地方。我們稍後會使用此ID進行查詢和其他類型的公司篩選,因爲內容是按公司存儲的。
我應該在哪裏存儲公司ID設置以使其在多個Web請求中保持持久性?
我看到三個可行的選擇
Session
Cookie
這可能會也可能不會在身份驗證cookie中,您的選擇。
到什麼時候需要保持它在數據庫
查詢。如果需要的時間少於x%,那麼只需從數據源中獲取數據即可。
因爲性能方面的原因,我會爲「將它保存在數據庫中」投票。 – NotMe 2010-10-26 21:48:35
爲了可靠性,我最終決定使用Session,但將其存儲在SQL Server中。 – mare 2010-10-29 17:47:29
@ mare-如果您使用基於SQL Server的會話存儲,那麼它是否比數據庫中的數據庫有優勢? – 2010-10-29 19:54:38