Solved

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

Posted on 2014-10-10
3
291 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

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

In .NET 2.0, Microsoft introduced the Web Site.  This was the default way to create a web Project in Visual Studio 2005.  In Visual Studio 2008, the Web Application has been restored as the default web Project in Visual Studio/.NET 3.x The Web Si…
This article is for Object-Oriented Programming (OOP) beginners. An Interface contains declarations of events, indexers, methods and/or properties. Any class which implements the Interface should provide the concrete implementation for each Inter…
This video discusses moving either the default database or any database to a new volume.
You have products, that come in variants and want to set different prices for them? Watch this micro tutorial that describes how to configure prices for Magento super attributes. Assigning simple products to configurable: We assigned simple products…

743 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

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now