在我的asp.net應用mvc4我允許管理員更改各種站點範圍,如網站的標題,有特色的電影,類別,顏色方案等保存站點級設置
如何保存這些變化?我應該在數據庫中創建一行,包括每個設置作爲列還是?
如果是這樣,每次我想顯示該網站,我當然需要該網站的標題 - 然後我必須每次查詢數據庫檢索標題?
在我的asp.net應用mvc4我允許管理員更改各種站點範圍,如網站的標題,有特色的電影,類別,顏色方案等保存站點級設置
如何保存這些變化?我應該在數據庫中創建一行,包括每個設置作爲列還是?
如果是這樣,每次我想顯示該網站,我當然需要該網站的標題 - 然後我必須每次查詢數據庫檢索標題?
這樣做的兩種可能方法是在會話中或在數據庫中按照您的建議。
Session: 如果此信息不能永久保存,您可以將它存儲在服務器端的會話中。根據您設置的策略,用戶退出瀏覽器後信息會消失,這可能不是您想要的。
數據庫: 您可以將每個用戶(userId,設置)的所有信息存儲在單行中。這些設置可以存儲爲xml等爲像這樣一個字符串:
<settings>
<title>...</title>
<featuredmovies>
<movie>...</movie>
</featuredmovies>
...
</settings>
您必須查詢數據庫,但它是一個非常便宜的查詢作爲你唯一的選擇基於用戶ID。您也可以將信息存儲在會話中,一次只檢索一次,只有在用戶更改其設置時更新。這意味着您以後每次需要的設置信息都可以從會話中獲得,而不是數據庫非常快。
編輯:然後,你會解析XML到你想要的設置服務器端。
好吧謝謝 - 我會這樣做:) –
您可以使用會話來存儲將在所有頁面上使用的網站標題和其他數據 –