C# – Problems with Viewstate corruption

asp.net-2.0aspwizardcviewstate

I'm getting errors in a few of my pages:

Error Message: Invalid character in a Base-64 string.
Error Source: mscorlib
Error Target Site: Byte[] FromBase64String(System.String)

Error Message: Unable to validate data.
Error Source: System.Web
Error Target Site: Byte[] GetDecodedData(Byte[], Byte[], Int32, Int32, Int32 ByRef)

Error Message: Invalid viewstate.
Error Source: System.Web
Error Target Site: System.String DecryptStringWithIV(System.String, System.Web.Configuration.IVType)

Here is some context. Please let me know if you are seeing anything. I think this is being caused in part by my asp wizard control.

QueryString Data:

Post Data:

ctl00$smgr: ctl00$MasterContentPlaceHolder$upl_Products|ctl00$MasterContentPlaceHolder$btn_Search
__EVENTTARGET:
__EVENTARGUMENT:
__LASTFOCUS:
__VIEWSTATEFIELDCOUNT: 3

__EVENTVALIDATION: /wEWHwKV2/WwBQLGna/KAwK9x8a3BQKLhdbNCwLZ64aKDQKi8pQnAp/jp/4IApCM8ZMEApGM8ZMEApOMzZMEApSMzZMEAtbfoPUBAqPxgKMBAorGwpkKAseB0Z0KAqPxgKMBAt2Y6o8JAsDpmsoPAtKTqbABApnQzLoPAuPO3+EGAvqt7rUDAtyZ3acDAtf0wrEBAvKivZ0MAsGNqIUKAoyZyqoNAsbz9MYPAuDHqosLAs6pn9gKAr+Ru4sC6wYbrhtxXxHDOrBfBS6eE0Gfq9I=
ctl00$hdf_DisplayModal:
ctl00$UcHeader1$ucCreateAssociation$Wizard1$txt_AssociationName:
ctl00$UcHeader1$ucCreateAssociation$Wizard1$txt_Doors:
ctl00$UcHeader1$ucCreateAssociation$Wizard1$txt_Lockbox:
ctrlPrefix: ctl00_MasterContentPlaceHolder_
ctl00$MasterContentPlaceHolder$txt_Search: CASA RIVIERA
ctl00$MasterContentPlaceHolder$wmk_Search_ClientState:
ctl00$MasterContentPlaceHolder$ddl_PageSize: 25
ctl00$MasterContentPlaceHolder$txt_sdi:
ctl00$MasterContentPlaceHolder$hdf_ClonedProduct:
ctl00$MasterContentPlaceHolder$hdf_ClonedProductDocumentID:
ctl00$MasterContentPlaceHolder$btn_Search: Search

User: 0893

Exception Stack Trace:

at System.Web.UI.ViewStateException.ThrowError(Exception inner, String persistedState, String errorPageMessage, Boolean macValidationError)
at System.Web.UI.ViewStateException.ThrowMacValidationError(Exception inner, String persistedState)
at System.Web.UI.ObjectStateFormatter.Deserialize(String inputString)
at System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(String serializedState)
at System.Web.UI.Util.DeserializeWithAssert(IStateFormatter formatter, String serializedState)
at System.Web.UI.HiddenFieldPageStatePersister.Load()
at System.Web.UI.Page.LoadPageStateFromPersistenceMedium()
at System.Web.UI.Page.LoadAllState()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest()
at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)
at System.Web.UI.Page.ProcessRequest(HttpContext context)
at ASP.pif_default_aspx.ProcessRequest(HttpContext context) in c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\sdi\80f8adc6\386762ef\App_Web_xehehb6p.0.cs:line 0
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

Server Variables:

ALL_HTTP: HTTP_CACHE_CONTROL:no-cache
HTTP_CONNECTION:Keep-Alive
HTTP_PRAGMA:no-cache
HTTP_CONTENT_LENGTH:34935
HTTP_CONTENT_TYPE:application/x-www-form-urlencoded
HTTP_ACCEPT:/
HTTP_ACCEPT_LANGUAGE:en-us
HTTP_COOKIE:intro=none; proofs=none; __utma=171421859.194166732.1176217884.1257437483.1257444560.528; __utmz=171421859.1257444560.528.335.utmcsr=southdata.com|utmccn=(referral)|utmcmd=referral|utmcct=/; .ASPXFORMSAUTH=BDF808EC8A45BADFBB4DB5AD85A8ADE465F4A3B2DB6BE338C17A1F9D77075A418FD178A5FD1F9C54DBE5442A8BEA229C938AC5026C0759B2C45DE0E1E930A7B3; __utmc=171421859; __utmb=171421859.76.10.1257444560; __utma=146810421.923635986.1176217867.1257437442.1257444513.419; __utmz=146810421.1257437442.418.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); ASP.NET_SessionId=zem03d55niqwuavria2n2x2p; __utmc=146810421 HTTP_HOST:republic.southdata.com HTTP_REFERER:https://republic.southdata.com/SDI/PIF/
HTTP_USER_AGENT:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; MS-RTC LM 8; InfoPath.2; .NET CLR 1.0.3705) HTTP_X_MICROSOFTAJAX:Delta=true
HTTP_UA_CPU:x86

ALL_RAW: Cache-Control: no-cache
Connection: Keep-Alive
Pragma: no-cache
Content-Length: 34935
Content-Type: application/x-www-form-urlencoded
Accept: /
Accept-Language: en-us
Cookie: intro=none; proofs=none; __utma=171421859.194166732.1176217884.1257437483.1257444560.528; __utmz=171421859.1257444560.528.335.utmcsr=southdata.com|utmccn=(referral)|utmcmd=referral|utmcct=/; .ASPXFORMSAUTH=BDF808EC8A45BADFBB4DB5AD85A8ADE465F4A3B2DB6BE338C17A1F9D77075A418FD178A5FD1F9C54DBE5442A8BEA229C938AC5026C0759B2C45DE0E1E930A7B3; __utmc=171421859; __utmb=171421859.76.10.1257444560; __utma=146810421.923635986.1176217867.1257437442.1257444513.419; __utmz=146810421.1257437442.418.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); ASP.NET_SessionId=zem03d55niqwuavria2n2x2p; __utmc=146810421
Host: republic.southdata.com
Referer: https://republic.southdata.com/SDI/PIF/
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; MS-RTC LM 8; InfoPath.2; .NET CLR 1.0.3705)
x-microsoftajax: Delta=true
UA-CPU: x86

APPL_MD_PATH: /LM/W3SVC/1/Root/SDI
APPL_PHYSICAL_PATH: D:\Inetpub\wwwroot\sdi\
AUTH_TYPE: Forms
AUTH_USER: 0893
AUTH_PASSWORD:
LOGON_USER:
REMOTE_USER: 0893
CERT_COOKIE:
CERT_FLAGS:
CERT_ISSUER:
CERT_KEYSIZE: 128
CERT_SECRETKEYSIZE: 4096
CERT_SERIALNUMBER:
CERT_SERVER_ISSUER: C=US, O=Network Solutions L.L.C., CN=Network Solutions Certificate Authority
CERT_SERVER_SUBJECT: C=US, PostalCode=27030, S=NC, L=Mount Airy, STREET=201 Technology Lane, O=SouthData, OU=IT, OU=Secure Link SSL Wildcard, CN=.southdata.com
CERT_SUBJECT:
CONTENT_LENGTH: 34935
CONTENT_TYPE: application/x-www-form-urlencoded
GATEWAY_INTERFACE: CGI/1.1
HTTPS: on
HTTPS_KEYSIZE: 128
HTTPS_SECRETKEYSIZE: 4096
HTTPS_SERVER_ISSUER: C=US, O=Network Solutions L.L.C., CN=Network Solutions Certificate Authority
HTTPS_SERVER_SUBJECT: C=US, PostalCode=27030, S=NC, L=Mount Airy, STREET=201 Technology Lane, O=SouthData, OU=IT, OU=Secure Link SSL Wildcard, CN=
.southdata.com
INSTANCE_ID: 1
INSTANCE_META_PATH: /LM/W3SVC/1
LOCAL_ADDR: 10.1.16.6
PATH_INFO: /SDI/PIF/Default.aspx
PATH_TRANSLATED: D:\Inetpub\wwwroot\sdi\PIF\Default.aspx
QUERY_STRING:
REMOTE_ADDR: 204.9.125.194
REMOTE_HOST: 204.9.125.194
REMOTE_PORT: 59539
REQUEST_METHOD: POST
SCRIPT_NAME: /SDI/PIF/Default.aspx
SERVER_NAME: republic.southdata.com
SERVER_PORT: 443
SERVER_PORT_SECURE: 1
SERVER_PROTOCOL: HTTP/1.0
SERVER_SOFTWARE: Microsoft-IIS/6.0
URL: /SDI/PIF/Default.aspx
HTTP_CACHE_CONTROL: no-cache
HTTP_CONNECTION: Keep-Alive
HTTP_PRAGMA: no-cache
HTTP_CONTENT_LENGTH: 34935
HTTP_CONTENT_TYPE: application/x-www-form-urlencoded
HTTP_ACCEPT: /
HTTP_ACCEPT_LANGUAGE: en-us
HTTP_COOKIE: intro=none; proofs=none; __utma=171421859.194166732.1176217884.1257437483.1257444560.528; __utmz=171421859.1257444560.528.335.utmcsr=southdata.com|utmccn=(referral)|utmcmd=referral|utmcct=/; .ASPXFORMSAUTH=BDF808EC8A45BADFBB4DB5AD85A8ADE465F4A3B2DB6BE338C17A1F9D77075A418FD178A5FD1F9C54DBE5442A8BEA229C938AC5026C0759B2C45DE0E1E930A7B3; __utmc=171421859; __utmb=171421859.76.10.1257444560; __utma=146810421.923635986.1176217867.1257437442.1257444513.419; __utmz=146810421.1257437442.418.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); ASP.NET_SessionId=zem03d55niqwuavria2n2x2p; __utmc=146810421
HTTP_HOST: republic.southdata.com
HTTP_REFERER: https://republic.southdata.com/SDI/PIF/
HTTP_USER_AGENT: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; MS-RTC LM 8; InfoPath.2; .NET CLR 1.0.3705)
HTTP_X_MICROSOFTAJAX: Delta=true

Best Answer

Microsoft posted an article on viewstate corruption a while back that has come in handy:

http://support.microsoft.com/kb/555353

We've run into this when running on load-balanced web servers in which case using a common key in the machine.config files did the trick. Not sure if this is the issue you are having, but the article from MS was a big help.

Related Topic