<p>One of the sites I maintain relies heavily on the use of <code>ViewState</code> (it isn't my code). However, on certain pages where the <code>ViewState</code> is extra-bloated, Safari throws a <code>"Validation of viewstate MAC failed"</code> error.</p>

<p>This appears to only happen in Safari. Firefox, IE and Opera all load successfully in the same scenario.</p>

[{'answer_id': 1190, 'author': 'Anthony Main', 'author_id': 258, 'author_profile': 'https://Stackoverflow.com/users/258', 'pm_score': 3, 'selected': True, 'text': '<p>I\'ve been doing a little research into this and whilst I\'m not entirely sure its the cause I believe it is because Safari is not returning the full result set (hence cropping it).</p>\n\n<p>I have been in dicussion with another developer and found the following post on Channel 9 as well which recommends making use of the SQL State service to store the viewstate avoiding the postback issue and also page size.</p>\n\n<p><a href="http://channel9.msdn.com/forums/TechOff/250549-ASPNET-ViewState-flawed-architecture/?CommentID=270477#263702" rel="nofollow noreferrer">http://channel9.msdn.com/forums/TechOff/250549-ASPNET-ViewState-flawed-architecture/?CommentID=270477#263702</a></p>\n\n<p>Does this seem like the best solution?</p>\n'}, {'answer_id': 1202, 'author': 'tags2k', 'author_id': 192, 'author_profile': 'https://Stackoverflow.com/users/192', 'pm_score': 2, 'selected': False, 'text': "<p>My first port of call would be to go through the elements on the page and see which controls:</p>\n\n<ol>\n<li>Will still work when I switch ViewState off</li>\n<li>Can be moved out of the page and into an AJAX call to be loaded when required</li>\n</ol>\n\n<p>Failing that, and here's the disclaimer - I've never used this solution on a web-facing site - but in the past where I've wanted to eliminate massive ViewStates in limited-audience applications I have stored the ViewState in the Session.</p>\n\n<p>It has worked for me because the hit to memory isn't significant for the number of users, but if you're running a fairly popular site I wouldn't recommend this approach.  However, if the Session solution works for Safari you could always detect the user agent and fudge appropriately.</p>\n"}, {'answer_id': 1236, 'author': 'Rob Allen', 'author_id': 149, 'author_profile': 'https://Stackoverflow.com/users/149', 'pm_score': 3, 'selected': False, 'text': "<p>While I second the Channel 9 solution, also be aware that in some hosted environments Safari is not considered an up-level browser. You may need to add it to your application's browscap in order to make use of some ASP.Net features. </p>\n\n<p>That was the root cause of some headaches we had for a client's site that used the ASP Menu control.</p>\n"}]
['https://Stackoverflow.com/questions/1189', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/258/']