ViewState仅在Safari中无效

我维护的其中一个站点严重依赖于使用 ViewState (它不是我的代码)。但是,在 ViewState 过度膨胀的某些页面上,Safari会引发“视图状态MAC验证失败”错误。

这似乎只发生在Safari中。 Firefox,IE和Opera都在同一场景中成功加载。

0
额外 编辑
意见: 1

4 答案

You can do that. If an operad O acts on a space X, then the structure maps O(n) x Xn -> X induce homology operations H*O(n) ⊗ H*(X)⊗n -> H*(X). In particular, any path component in O(2) produces a multiplication on H*X, if it's in the same path component as its own image under the symmetric group action it's commutative, if the two composites of it are in the same path component of O(3) it's associative, et cetera.

特别是如果O是联想operad(所以O(n)是离散的),那么这个结构就会减少到Pontrjagin环结构。

6
额外

我的第一个停靠点是查看页面上的元素并查看哪些控件:

  1. 关闭ViewState时仍然可以使用
  2. 可以移出页面并在要求时加载AJAX调用

如果不这样做,这里是免责声明 - 我从来没有在面向Web的网站上使用过这个解决方案 - 但是在过去,我想在有限的受众应用程序中消除大量的ViewState,因此我将ViewState存储在Session中。

它对我来说很合适,因为对用户数量的影响并不显着,但如果您运行的是相当受欢迎的站点,我不会推荐这种方法。但是,如果Session解决方案适用于Safari,则可以始终适当地检测用户代理和软件。

0
额外

我一直在做一些研究,虽然我不完全确定它的原因,我相信这是因为Safari没有返回完整的结果集(因此裁剪它)。

我一直在与另一位开发者讨论,并在Channel 9上发现了以下帖子,其中建议使用SQL State服务来存储视图状态,以避免回发问题和页面大小。

http://channel9.msdn .COM /论坛/ TechOff / 250549-ASPNET,ViewState中,有缺陷的架构/?CommentID = 270477#263702

这看起来是最好的解决方案吗?

0
额外

虽然我是第二频道9解决方案,但请注意,在某些托管环境中,Safari不被视为上级浏览器。您可能需要将其添加到应用程序的browscap中,以便使用某些ASP.Net功能。

这是我们对使用ASP菜单控件的客户站点有些头痛的根源。

0
额外