Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Thank you John and Sergey! This really was a can of worms. Sergey, you were exactly right- the session timed out. John your idea made me think to look at the Windows Application Event Log rather than trying to track it down in the code. It turned out that my ViewState was expiring when the session timed out, which was set to 20 minutes by default. The exact event log error was:</p> <p>"Viewstate verification failed. Reason: The viewstate supplied failed integrity check."</p> <p>Now I was able to manually recycle the app pool and force the error to happen at my leisure which made solving it easier. I wasn't using Session though, at least not on the page in question, so why did this matter? This link was helpful in troubleshooting what was happening.</p> <p><a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;829743" rel="nofollow">http://support.microsoft.com/default.aspx?scid=kb;en-us;829743</a></p> <p>Buried deep into the article was the following sentence describing a scenario causing the worker process to recycle:</p> <p>"The application pool is running under an identity other than the Local System account, the Network Service account, or an administrative-level account."</p> <p>My AppPool is in fact running under a local user account which I created specifically for this purpose. When I changed the AppPool to run with ApplicationPoolIdentity, after recycling the AppPool the ViewState error went away. Then I set the AppPool back to run with the local user account again, gave that account local admin privileges, and this also fixed it. Not wanting to have this user be a local admin, I ended up going with a different solution, which was to generate a machine key for this app so the ViewState MAC is always the same, rather than using the default of auto-generating a new one every time the pool recylces or the session times out. Note this is also what you typically need to do if you have multiple web servers behind a load balancer.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload