0

我有一个支持多语言(en、de、it、fr、nl、sl、hr)的小型 Web 应用程序。许多用户在短时间内不断访问此应用程序(填写他们的数据以获取互联网访问代码的时间)。

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

我知道该怎么做,只是我不确定使用哪个状态管理。我想征求建议使用哪种方法。这些是我的想法:

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

Cookie - 易于实现并且它是客户端,但有些用户在他们的浏览器中禁用了 cookie

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

我想听听你的想法和建议。

先感谢您!

4

1 回答 1

0

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

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

于 2011-08-22T11:30:31.227 回答