多语言支持的最佳状态管理?

时间:2011-08-22 10:11:59

标签: c# asp.net state-management

我有一个支持多语言支持的小型Web应用程序(en,de,it,fr,nl,sl,hr)。这个应用程序可以从很多使用它的用户那里获得很短的时间(填充数据以获取互联网访问代码的时间)。

我在设置类似于此线程的文化时遇到问题: InitializeCulture change language of domain

我知道该怎么做,只是因为我不确定要使用哪种状态管理。我想问一下使用哪种方法的建议。这些是我的想法:

会话 - 最简单的方式,更优雅,但它是服务器端,我有很多请求,所以我担心服务器可能会过载

Cookie - 易于实施,而且是客户端,但有些用户在浏览器中禁用了Cookie

QueryString - 在这个阶段不是那么容易实现,但它是客户端并且可以很容易地测试,因为应用程序只有3个表单(3个URL来添加查询字符串参数)

我想听听你的意见和建议。

提前谢谢!

1 个答案:

答案 0 :(得分:0)

实际持久性存储实际上取决于文化选择的范围/生命周期。例如,如果必须在会话上持久化用户特定选择,那么您可以使用数据库或持久性cookie,其中cookie将记住机器和数据库将记住跨机器。检索(从数据库)将在需要时进行 - 并且值可以缓存到ASP.NET缓存(每个用户需要不同的密钥)或会话或视图状态(如果是单页应用程序)等。

如果您已经将会话状态用于其他内容,则不应过于担心将其置于会话中。在这种情况下,它并没有真正消耗任何重要的内存。如果您有注销功能,那么您可以显式清除会话状态并释放一点内存。如果您没有注销功能,则可以使用较小的值进行会话超时。