【问题标题】:How can I store session data in ASP.NET?如何在 ASP.NET 中存储会话数据?
【发布时间】:2009-03-10 13:08:36
【问题描述】:

我们有一个适用于 ASP.NET 的 flex 应用程序。 (通过 weborb)。 我们在 .NET 端使用多个数据来加载数据,例如:UserId、ChannelId、... 目前只有 userid 存储在 HttpContext.Current.Identity 的名称中。 所以flex端不需要一直push用户id,但是现在我们也想禁用channelid的“push”。

我想知道我们应该在哪里“存储”这些数据。 会话是否足够保存或者我们需要使用 cookie?或者有没有其他方法可以解决这个“问题”。

【问题讨论】:

    标签: c# asp.net session


    【解决方案1】:

    我建议使用Session,因为这些值随后存储在服务器上(cookie 存储在客户端上)。还使用静态类并将会话包装在那里。

    代替

    Session["channelid"] = ChannelId
    

    使用

    SessionManager.ChannelId = ChannelId
    

    您可以将SessionManager 声明为具有使用会话的静态属性的静态类。我相信这也是微软的普遍做法。

    干杯

    【讨论】:

      【解决方案2】:

      Session 听起来是个不错的选择。尽管除非您确实需要扩展到大量并发用户,否则人们对此有很多反感,但对于每个会话的如此少量数据,没有理由避免它。

      Cookie 是一个选项,但这意味着数据保存在客户端,这可能是不可取的,并且会增加发送到服务器的每个请求。

      【讨论】:

        【解决方案3】:

        如果只是存储 userId 和 channelId 或类似整数值的情况,我更喜欢 session,但如果你将拥有比这些更多的数据,并且你可能有相当多的并发会话,那么 session 可能是有点重。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-09-25
          • 1970-01-01
          • 2014-03-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多