【问题标题】:Persist an object even after session gets expire即使在会话过期后仍然保留一个对象
【发布时间】:2019-11-10 21:55:33
【问题描述】:

我目前正在开发一个 POC,我需要为每个请求保留一个唯一的对象。我的应用程序在其他站点上发布表单,并在我的响应处理程序上等待该站点的响应。所以我也想在我的响应处理程序上获得那个独特的对象。

我尝试过 Session 但如果 session 过期了怎么办。

【问题讨论】:

  • 我认为如果你添加更多关于你为什么需要这个的细节,你可能会在这里得到更好的建议,但是如果你想存储一些不会过期的东西,那么 DB 可能是你最好的选择......认为您可以将其保存在任何其他持久性存储中。
  • 实际上,要从数据库中获取,我需要一个标识符,但正如我所说,来自其他应用程序的响应来自我的响应处理程序,当时我没有任何标识符

标签: c# asp.net asp.net-mvc object system-design


【解决方案1】:

将对象存储在 DB 中,并将 DB 标识符存储在 cookie 中。然后,您将在每个请求上都有 DB 标识符。还要将此标识符发送到其他站点,当您取回它时,您就知道要处理什么了。

如果禁用 cookie,您也可以将数据存储在浏览器存储中,而不是 cookie。

【讨论】:

  • 如果用户禁用了 cookie 怎么办?
  • 用户可能禁用了 cookie 或 javascript。为此,您可以在不启用 cookie 或 javascript 的情况下检测并阻止用户使用该功能。否则,您将不得不从站点发送并获取令牌。否则没有太多选择。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-23
  • 2015-03-10
相关资源
最近更新 更多