我正在验证视图状态 MAC 失败,但只是非常偶尔。
我不在网络场中,无法重新创建它。
是否有任何已知因素会导致视图状态 MAC 验证失败?
微软博主 Tess Ferrandez 对此有一篇很好的文章:
Viewstate 和 viewstate 验证使用几个隐藏的表单字段,例如 __VIEWSTATE 和 __EVENTVALIDATION。如果页面呈现速度太慢,以至于当有人单击导致回发的按钮或控件时 __EVENTVALIDATION 字段尚未呈现,ASP.NET 也会认为视图状态无效并报告此情况。
检查您的视图状态在有问题的页面中是否非常大。您可能希望关闭EnableViewState
不需要它的控件的属性,尤其是不需要记住回发之间状态的大型数据绑定控件。