【问题标题】:Best way to maintain session state in MVC在 MVC 中维护会话状态的最佳方法
【发布时间】:2009-09-23 11:51:58
【问题描述】:

我有一个搜索栏,上面有 4 个级联下拉菜单,用户进行选择然后单击搜索。当用户返回搜索页面时,我希望仍显示之前选择的值。

有没有关于保存这些选定值的最佳方法的 cmets?

【问题讨论】:

    标签: c# .net asp.net-mvc session iis


    【解决方案1】:

    有什么理由不把它们放在查询字符串中?

    如果您正在考虑会话,请先尝试 TempData,它会为您处理会话。

    正如在其他地方提到的,cookie 是可以的,但不是 RESTful。使用 Querystring,可以为搜索添加书签。一些知名人士使用这种方法(google 和 SO 仅举两例)

    【讨论】:

    • 获胜的查询字符串 - 始终使用查询字符串进行搜索。它更加友好。
    【解决方案2】:

    如果您可以临时保存,请使用 cookie。

    【讨论】:

      【解决方案3】:

      Session 在 ASP.NET MVC 中仍然可用。另外,它现在可以模拟了。双赢。

      【讨论】:

        【解决方案4】:

        这就是 Session 字典的用途:在页面加载之间存储导航值...

        【讨论】:

          【解决方案5】:

          我们使用企业库缓存应用程序块:

          http://msdn.microsoft.com/en-us/library/dd203099.aspx

          【讨论】:

          • 您使用缓存块来存储用户数据?我会理解使用缓存块来缓存搜索结果,所以重复搜索会拉回缓存的副本,你真的也将它用于用户数据吗?如果是这样,您如何将数据从全局映射到用户?
          • @Chris:Entlib 基于键值对。如果您使用用户 ID 作为密钥,那么存储用户数据就没有问题。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2023-03-08
          • 1970-01-01
          • 2017-12-22
          • 1970-01-01
          • 1970-01-01
          • 2010-10-02
          相关资源
          最近更新 更多