2011-08-22 50 views
0

我有一個小型的Web應用程序,它支持多種語言(en,de,it,fr,nl,sl,hr)。該應用程序不斷從很多使用此應用程序的用戶(訪問他們的數據以獲取互聯網訪問代碼的時間)進行訪問。多語言支持的最佳狀態管理?

我有類似設置此主題的文化問題: InitializeCulture change language of domain

我知道如何做到這一點,它只是我不知道要使用的狀態管理。我想詢問哪些方法可以使用。這些是我的想法:

會議 - 最簡單的方法和更優雅,但它的服務器端,我有很多的要求,所以我擔心,服務器可能過於超載

餅乾 - 易於實施和它是客戶端,但一些用戶在他們的瀏覽器中禁用了Cookie

QueryString - 在這個階段不太容易實現,但它是客戶端,可以很容易地測試,因爲應用程序只有3種形式(3個URL添加查詢字符串參數)

我想聽聽您的意見和建議。

預先感謝您!

回答

0

實際的持久性存儲實際上取決於文化選擇的範圍/生存期。例如,如果用戶特定的選擇必須持久保存在會話中,那麼您可以使用數據庫或持久性cookie,其中Cookie將記住機器,數據庫將記住跨機器。檢索(從數據庫)將在需要時發生 - 並且該值可以緩存到ASP.NET緩存(將需要每個用戶不同的關鍵字)或會話或視圖狀態(如果其單頁應用程序)等。

如果您已經在使用會話狀態來處理其他事情,則不必過於擔心會話狀態。在這種情況下,它並不真正消耗任何重要的記憶。如果您有註銷功能,那麼您可以明確清除會話狀態並釋放一點點內存。如果您沒有註銷功能,那麼您可以使用較小的值來處理會話超時。

+0

是的,我使用會話狀態的MAC地址和重定向URL跟蹤,所以會話狀態應該是好的 – Mentoliptus