我正在使用带有经典 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/页面工作的东西。但是当您按下按钮时,您会收到错误消息。当 Route 只是“a/{id}”时,不会发生错误。
它似乎与url中的子路径数有关。如果至少有 2 个子路径,则视图状态验证失败。
即使 EnableViewStateMac="false" 也会出现错误。
有任何想法吗?它是一个错误吗?
谢谢