Solved

Failed to load viewstate warning - Asp.Net Web Forms app

Posted on 2014-10-10
3
358 Views
Last Modified: 2014-11-10
Hello,

I have an Asp.Net web forms application (4.5) that works fine but the event log on the IIS server is riddled with warning level entries about "Failed to load viewstate." (full message below).  My research indicates this can happen when dynamically adding controls improperly, but I have no dynamically added controls.  I do user web user controls, and I do use a master page.  The master page has a RadWindow (Telerik) which has a web user control inside of it's content template.  Also some of the other pages have web user controls.

Any ideas?  Thanks a lot.

Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 10/10/2014 8:06:21 AM
Event time (UTC): 10/10/2014 12:06:21 PM
Event ID: 95721625fd21464789c949a0a448323e
Event sequence: 4468
Event occurrence: 549
Event detail code: 0
 
Application information:
    Application domain: /LM/W3SVC/2/ROOT/*******-1-130573917227018547
    Trust level: Full
    Application Virtual Path: /*******
    Application Path: D:\Websites\Intranet\*******\
    Machine name: *******19
 
Process information:
    Process ID: 11120
    Process name: w3wp.exe
    Account name: IIS APPPOOL\Intranet
 
Exception information:
    Exception type: HttpException
    Exception message: Failed to load viewstate.  The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request.  For example, when adding controls dynamically, the controls added during a post-back must match the type and position of the controls added during the initial request.
   at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
   at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)
   at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
   at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)
   at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
   at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)
   at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
   at System.Web.UI.Page.LoadAllState()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

 
 
Request information:
    Request URL: http://intranet.*******.com/*******/Default.aspx 
    Request path: /*******/Default.aspx
    User host address: 172.16.1.52
    User: *******\RobB
    Is authenticated: True
    Authentication Type: Negotiate
    Thread account name: IIS APPPOOL\Intranet
 
Thread information:
    Thread ID: 16
    Thread account name: IIS APPPOOL\Intranet
    Is impersonating: False
    Stack trace:    at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
   at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)
   at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
   at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)
   at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
   at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)
   at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)
   at System.Web.UI.Page.LoadAllState()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
 
 
Custom event details:
0
Comment
Question by:Martin Bertram
  • 2
3 Comments
 
LVL 35

Expert Comment

by:Miguel Oz
ID: 40374251
Hard to say without looking at your code, Some guidelines:
- Identify which control may have changed contents between requests that is triggering the issue. You may try by deleting all controls and then add one control at the time until the error happens.
- Check if you really need View state for the control found in previous step. If not needed set EnableViewState to false.

Please post sample code if more help needed.
0
 

Author Comment

by:Martin Bertram
ID: 40406222
I suspect that it is occuring because I republished a new version of the application and users haven't closed the application on their browser.   Is there a way to catch this exception in the code and then perhaps force a redirect to the same page to reload it, or something to that effect?
0
 
LVL 35

Accepted Solution

by:
Miguel Oz earned 500 total points
ID: 40407473
If that is the case, you are better off asking the users to logoff and restart server IIS.
Also the users must delete any temporary browser files to avoid any cached file being loaded instead of your new files.
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Just a quick little trick I learned recently.  Now that I'm using jQuery with abandon in my asp.net applications, I have grown tired of the following syntax:      (CODE) I suppose it just offends my sense of decency to put inline VBScript on a…
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

820 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question