【发布时间】:2010-09-18 19:17:59
【问题描述】:
我正在使用带有经典 WebForms 的 ASP.NET 3.5 SP1 System.Web.Routing,如 http://chriscavanagh.wordpress.com/2008/04/25/systemwebrouting-with-webforms-sample/ 中所述
一切正常,我有自定义 SEO 网址,甚至回发也可以。 但有一种情况是回发总是失败,我得到一个:
视图状态 MAC 验证失败。如果此应用程序由 Web Farm 或集群托管,请确保配置指定相同的 validationKey 和验证算法。 AutoGenerate 不能在集群中使用。
这里是重现错误的场景:
- 使用按钮创建标准 webform mypage.aspx
- 创建一个将“a/b/{id}”映射到“~/mypage.aspx”的路由
- 当您执行站点时,您可以导航http://localhost:XXXX/a/b/something 页面工作。但是当您按下按钮时,您会收到错误消息。当 Route 只是“a/{id}”时,不会发生错误。
好像和url中子路径的个数有关。如果至少有 2 个子路径,则视图状态验证失败。
即使 EnableViewStateMac="false" 也会出现错误。
有什么想法吗?是bug吗?
谢谢
【问题讨论】:
标签: asp.net-mvc routing viewstate mac-address