将本地化文本存储在数据库或资源文件中

时间:2012-11-08 07:39:21

标签: asp.net

目前在我的Asp.Net网站上,我将本地化文本存储在数据库的表中。该表有三列:

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

因此,每当我需要获取特定文化的本地化文本时,我只需进行简单的查询。

这种方法的主要优点很简单,我也可以在我的网络应用程序运行时更新文本。

明显的缺点是性能。我使用资源文件在其他桌面应用程序中进行本地化我选择数据库的原因是我的印象是更新asp.net中的资源文件会导致Web应用程序重新加载,因此我需要在更新资源文件时使网站脱机。假设是真的吗?什么是在Asp.Net中存储本地化文本的“常见”方法?

谢谢

1 个答案:

答案 0 :(得分:2)

Common方法是使用全局和本地资源文件。如果要使用数据库,请考虑使用具有sql缓存依赖性的asp.net缓存。在应用程序启动时,从sql server加载所有资源数据并将其存储在缓存中,并创建一个实用程序类,以根据资源键从缓存中返回数据。