2012-11-08 81 views
0

目前在我的Asp.Net網站中,我將本地化文本存儲在數據庫的表中。該表有三列:將本地化文本存儲在數據庫或資源文件中?

TextCode nvarchar(100), 
CultureId int, 
TextString nvarchar(MAX) 

所以每次當我需要得到一個特定的文化我只是做一個簡單的查詢一個本地化的文本的時間。

這種方法的主要優點很簡單,我也可以在我的web應用程序運行時更新文本。

明顯的缺點是性能。我使用資源文件進行其他桌面應用程序的本地化。我選擇數據庫的原因是我的印象是,更新asp.net中的資源文件將導致Web應用程序重新加載,因此當我更新資源文件時,我需要使站點脫機。假設是真的嗎?在Asp.Net中存儲本地化文本的「常用」方法是什麼?

感謝

回答

2

Common方法是使用全局和本地資源文件。如果你想使用數據庫考慮使用與SQL緩存依賴關係的asp.net緩存。在應用程序啓動時,從sql server加載所有資源數據並將其存儲在緩存中,並創建一個實用程序類以基於資源鍵從緩存中返回數據。

+0

這種方法很好:) –

+0

感謝您的答案Prashant。你知道編輯資源文件是否會導致AppDomain重新加載? – sean717

+0

是的,您所有的應用程序池都將回收,並且所有應用程序級別事件將再次觸發 –