views:

334

answers:

0

I have several websites which get approximately 3000 pageviews in total per day, and I get this viewstate error roughly 5-10 times per day, caught in global.asax:

System.Web.HttpException: Unable to validate data. at System.Web.Configuration.MachineKeySection.GetDecodedData(Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Int32& dataLength) at System.Web.UI.ObjectStateFormatter.Deserialize(String inputString)

I have tried:

  • hard-coding the machine key in web.config for all websites
  • hard-coding the machien key in machine.config
  • adding items to the pages section of the web.config for all websites.

Machine key looks like:

<machineKey validationKey="key goes here" decryptionKey="key goes here" validation="SHA1" decryption="AES" />

Pages section looks like:

<pages renderAllHiddenFieldsAtTopOfForm="true" validateRequest="false"  enableEventValidation="false" viewStateEncryptionMode="Never">

The errors are not related to application pool recycling as best I can tell, as the pool is set to recycle at every 100,000 requests. I am not running a web farm or web garden. Quite often I get two or three of these errors in a row, as if a user is getting an error, going back, and then clicking the link again.

Anyone have any ideas?