title: Viewstate Validation fails in web-farm - Usual suspects eliminated
body: <p>I think that I've tried all of the standard responses to this problem, and I know that I've read hundreds of questions and posts about this problem, but none of them seem to have resolved it or shed any light on what the cause is in my scenario. (I'm 5 hours down and no nearer :-( )</p>
  
  <ul>
  <li><p>I have a web-farm of 2 servers.</p></li>
  <li><p>I have set the machine key and validation key in machine.config on both machines</p></li>
  <li><p>Encryption: SHA1, Decryption: AES - These are the defaults, could it help to change them?</p></li>
  <li><p>I have verified that no other config files in the chain (web.cfg, apphost etc.) have a setting for these values.</p></li>
  <li><p>I have added a page to the site (<a href="https://stackoverflow.com/questions/14141066/getting-current-machinekey-or-equivilent-for-hmac-in-web-farm">based on this SO</a>) that spits the machine key values back out, and verified that they are the same across requests to both machines and match the values that are in machine .config</p></li>
  <li><p>The server side session state is in a shared state-server, I have verified that sessionid remains constant between requests to the 2 servers.</p></li>
  <li><p>I have verified that the page is completely loaded and the __EVENTVALIDATION hidden field has been rendered into the page before initiating the post. The viewstate size is not too bad at 7.64kb</p></li>
  </ul>
  
  <p><strong>When a page is rendered from a request to server 1 and then posted back to server 2, I get the dreaded...</strong></p>
  
  <pre><code>Error Message:
  
  Unable to validate data.
  at System.Web.Configuration.MachineKeySection.GetDecodedData(Byte[] buf, Byte[] modifier,   Int32 start, Int32 length, Int32&amp; dataLength)
  at System.Web.UI.ObjectStateFormatter.Deserialize(String inputString)   HttpApplication.RecordError =&gt; HttpApplication.RaiseOnError =&gt; global_asax.Application_Error
  </code></pre>
  
  <p>The post is triggered by a standard, unadulterated asp linkbutton, there is no ajax going on on the page.</p>
  
  <p>Any and all help will be greatly appreciated.</p>
  
  <p>Setting enableViewStateMAC = false is not a solution :-)</p>