asp.net – 会话最佳实践

嗨,我在我的应用程序中使用Sessions,我想知道在页面上维护会话值的最佳做法是什么.我需要保存会话中存储的值,直到回发到特定页面.让我说明一下:

Page A:                             Page B:
Sets Session["ID"] = 5       -->    Gets Session["ID"]
And redirects to Page B             and populates data.

我需要页面B上的Session [“ID”]保持活着,直到在页面B上执行回发.我需要这个,因为我将使用数据库中的Session [“ID”]更新数据的值.

我的问题是:在回复执行之前,会话[“ID”]是否会保证其值?不会死吗?如果是这样的话:我可以采取哪些方法来确保它保持其价值?

我想在页面B中创建一个私有变量来在Page_Load上存储Session [“ID”].请让我知道你的想法,谢谢.

对不起,我应该说:我不能允许用户修改ID.所以没有查询字符串,谢谢.

最佳答案 默认情况下,会话存储在服务器的内存中.如果用户的会话超时,这可能会有问题.此外,如果您使用多个服务器作为服务器场,则无法在内存中使用Session,因为您无法保证用户每次都将使用同一服务器.

保证会话信息不会丢失的最佳方法是将用户的会话持久保存到SqlServer数据库. Here is a tutorial on how to set that up.

会议实际上并不像一些海报所暗示的那样是性能杀手.这是一种非常有用的方法,可以轻松维护每个用户的状态.

另请参阅我对this question的回答,以获得包装ASP.NET会话对象的好方法.

点赞