Link to home
Start Free TrialLog in
Avatar of Martin Bertram
Martin Bertram

asked on

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

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:
Avatar of Miguel Oz
Miguel Oz
Flag of Australia image

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.
Avatar of Martin Bertram
Martin Bertram

ASKER

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?
ASKER CERTIFIED SOLUTION
Avatar of Miguel Oz
Miguel Oz
Flag of Australia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial