Postback not working with ASP.NET Routing (Validation of viewstate MAC failed)

Posted by Robert on Stack Overflow See other posts from Stack Overflow or by Robert
Published on 2008-10-23T14:45:01Z Indexed on 2010/04/27 13:33 UTC
Read the original article Hit count: 294

Hi. I'm using the ASP.NET 3.5 SP1 System.Web.Routing with classic WebForms, as described in http://chriscavanagh.wordpress.com/2008/04/25/systemwebrouting-with-webforms-sample/

All works fine, I have custom SEO urls and even the postback works. But there is a case where the postback always fails and I get a:

Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.

Here is the scenario to reproduce the error:

  1. Create a standard webform mypage.aspx with a button
  2. Create a Route that maps "a/b/{id}" to "~/mypage.aspx"
  3. When you execute the site, you can navigate http://localhost:XXXX/a/b/something the page works. But when you press the button you get the error. The error doen't happen when the Route is just "a/{id}".

It seems to be related to the number of sub-paths in the url. If there are at least 2 sub-paths the viewstate validation fails.

You get the error even with EnableViewStateMac="false".

Any ideas? Is it a bug?

Thanks

© Stack Overflow or respective owner

Related posts about asp.net-mvc

Related posts about mac-address