【发布时间】:2015-08-25 22:52:11
【问题描述】:
我有一个 ASP.NET Web 表单应用程序,它使用 HTML5“离线 Web 应用程序”技术将页面长时间存储在浏览器缓存中。在这种情况下,用户可以在从服务器获取表单后的几天或几周内按下表单上的按钮并执行回发(即 GET 和 POST 请求之间的时间间隔很长)。
有时,此回发会因经典的“视图状态 MAC 验证失败”而失败。我的问题分为两部分:
是什么导致视图状态过时?即如何按需复制问题?
我能做些什么来确保这种情况永远不会发生吗?请记住,有建议说我永远不应该禁用视图状态 MAC。
【问题讨论】:
-
时间使它变得陈旧。 ViewState 在断开连接的环境中没有意义。我建议你不要使用它。
-
有趣...在我所有的搜索中,我没有看到任何对视图状态超时的引用。你有什么信息可以支持吗?
-
这不是超时。我相信 ViewState Mac 包含一个时间因素。目的是防止您正在尝试做的事情。 ViewState 不适合这种情况。
标签: asp.net webforms viewstate