We have a semi-weird issue for our site.
Consistently, from 1 anonymous* user the following error occurs:
Exception type: System.FormatException
Exception message: Invalid length for a Base-64 char array.
After some investigation, it appears the user is using some form of load-balancing firewall, as the IIS logs shows the requests originating from 2 different (but successive) IP’s.
From what I can determine, disabling ‘ViewStateMAC’ should solve this issue.
I am not however sure, and without any way to test this with the user, I feel a bit reluctant to go ahead with that.
Has anyone experienced similar issues? How did you deal with them?
Server details:
Single server (Win2003) running from a single IP.
Update:
From what I can determine, ViewStateMAC is only for the server-side. My issue is due to a client posting back a single page with multiple IP’s.
* But from the same 2 IP’s as determined from IIS logs. The user is also not malicious.
Disabling viewstatemac will not solve the problem; ViewStateMac failures happen when you have multiple web server, not when a user is coming from multiple IP addresses.
Are you using a viewstateuserkey by any chance? Even then, that’s a long shot as you would get a different exception.
I’d be tempted, if the user can recreate it on a consistent basis, to have them install fiddler and log requests until it happens then have them send them to you. Then replay them from your side and see if the error occurs.
They’re not using IE on a mac are they? That corrupts long viewstate due to a bug in form field lengths.