一个我维护网站在很大程度上依赖于使用ViewState
(这不是我的代码)。 然而,在某些网页,其中ViewState
是多余的臃肿,Safari浏览器抛出一个"Validation of viewstate MAC failed"
的错误。
这似乎只能在Safari发生。 火狐,IE和Opera在相同的情况下成功地所有负载。
一个我维护网站在很大程度上依赖于使用ViewState
(这不是我的代码)。 然而,在某些网页,其中ViewState
是多余的臃肿,Safari浏览器抛出一个"Validation of viewstate MAC failed"
的错误。
这似乎只能在Safari发生。 火狐,IE和Opera在相同的情况下成功地所有负载。
当我第二频道9解决方案,也知道,在一些托管环境Safari浏览器不被认为是上一级的浏览器。 您可能需要将其添加到您的应用程序的browscap为了利用一些ASP.Net功能。
这是有些头疼,我们曾经对自己使用的ASP菜单控制一个客户的网站的根本原因。
我的第一个停靠港将要经过的页面上的元素,看看它控制:
如果做不到这一点,和这里的声明 - 我从来没有使用上的Web面向网站这个解决方案 - 但在我想消除在有限的观众大规模应用的ViewStates过去,我已经存储了ViewState中的会话。
它很适合我,因为命中内存不是用户数量显著,但如果你正在运行一个相当受欢迎的网站,我不会推荐这种方法。 但是,如果会议解决方案适用于Safari浏览器,你可以随时检测用户代理,并适当地做傻事。
我一直在做一点点研究,这一点,虽然我不能完全肯定它的原因,我相信这是因为Safari浏览器没有返回完整的结果集(因此它裁剪)。
我一直在dicussion与其他开发和发现频道9以及其中建议利用该SQL国家服务的存储视图状态,避免回发的问题,还页面大小以下职位。
http://channel9.msdn.com/forums/TechOff/250549-ASPNET-ViewState-flawed-architecture/?CommentID=270477#263702
这看起来是最好的解决方案?