如何在ASP.NET中存储会话数据?

我们有一个适用于ASP.NET的flex应用程序。 (通过weborb)。 我们在.NET端使用几个数据来加载数据,例如:UserId,ChannelId,……现在只有userid存储在HttpContext.Current.Identity的名称中。 因此,flex端不需要一直推送用户ID,但现在我们也想禁用channelid的“推送”。

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

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

代替

 Session["channelid"] = ChannelId 

使用

 SessionManager.ChannelId = ChannelId 

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

干杯

会话听起来像是一个很好的选择。 虽然除非你确实需要扩展到非常大量的并发用户,否则对它有很大的厌恶,没有理由在每个会话中为这么少量的数据避免它。

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

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