asp.net - 在页面之间存储 ID 最多一天?

标签 asp.net session viewstate

我需要在多个 .aspx 页面之间存储 ID(联系人 ID、声明 ID 等)。

目前,我将 ID 存储在 session 中,并将 session 超时设置为 300 分钟。但是,我仍然收到错误,因为用户在 session 过期后尝试执行操作。

我认为用户会打开他们的网络浏览器,锁定他们的计算机,晚上回家,第二天早上回来并试图从上次中断的地方继续。

我不想使用查询字符串。 Cookie 更适合用户 ID,而不是联系 ID 和声明 ID。 View 状态仅按页面维护。将 session 持久保存到数据库似乎不必要地复杂。我不想将 session 超时时间延长太多。

我希望他们能够从早上停下来的地方继续。

处理页面之间存储 ID 的最佳实践是什么?我怎样才能做到这一点而不让他们收到一条消息说他们的 session 已过期?我是否忽略了一些显而易见的事情?!

最佳答案

我会将所有这些信息放入数据库中。这是数据库的经典用法,是一种存储应用程序所需信息的方法。

Cookie 很糟糕,因为您必须假设它们在 session 之间位于同一台 PC 上。您似乎遇到了 session 问题。

如果您不想使用数据库,则可以使用服务器上的文件。并从该文件中读取。

关于asp.net - 在页面之间存储 ID 最多一天?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2103656/

相关文章:

c# - 如何连接到由模式分隔的 postgresql 数据库?

session - 基于 Memcached 的烧杯 session 未在 Zope 启动时初始化

c# - .NET 应用程序中不稳定的无效 View 状态问题

java - 当未找到 FacesContext session 属性时如何重定向到 JSF 中的错误页面

PHP session 似乎无法正常工作

android - 来自 Fragments 的 `onViewStateRestored` 如何工作?

asp.net - 回发后恢复下拉选择的项目

javascript - 从 SQL 查询获取值到文本框

css - 带有超赞字体图标的 ASP.NET 超链接

c# - 使用 CSS 的页面属性为来自 asp.net c# 的每个打印页面添加页码