我有一个我的VB.net网络应用程序的用户抱怨他一直收到间歇性错误消息,导致他崩溃了系统。
堆栈追踪:
[FormatException: Invalid character in a Base-64 string.]
System.Convert.FromBase64String(Strings) +0
System.web. UI. LosFormatter.Deserialize(String input) +25
System.web. UI. Page. LoadPageStateFromPersistenceMedium() +101
[HttpException (0x80004005) : Invalid_Viewstate
Client IP: 127.0.0. 1
Port: 3491
User-Agent: Mozilla/4.0 (compatible: MSIE 7.0; windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET
ViewState: dDwxMZUZMDI3MTC203Q802w8aTwxPjS+02w8dDw7bDxpPDU+02 kBNj47aTw4PjtpPDEDPjtpPDE4PjtpPDIwPjtpPDIXPjtpPDM OPjtpPDM1PjtpPDM2PjtpI
Http-Referer: http ://localhost/<appname>/webForms/frmSystem.aspx?User=2&systemNo=22011U&Zoom=1&Strips=6
Path: /<appname>/webForms/frmSystem.aspx.]
System.web. UI. Page. LoadPageStateFromPersistenceMedium() +442
System.web. UI. Page. LoadPageViewState() +18
System.web. UI. Page. ProcessRequestMain() +447
从错误消息中可以看出,viewstate一直在变坏(请参阅下面的屏幕转储),但我不明白为什么。他声称每隔2-3分钟就会发生一次,但我已经使用过很多系统并且从未体验过它。
我也应该提到他以非常“非标准”的方式使用网络应用程序。为了达到最佳速度,他实际上使用远程桌面,直接连接到我们的服务器,并将其作为localhost运行。 (“疯狂!” - 是的,我知道。我没有做出决定。)这当然可能没有用。
关于可能导致视图状态腐败的一些建议会非常有帮助。
答案 0 :(得分:1)
他是双击。同样的事情让我疯了很长时间,因为我知道点击事情多少次,从来没有看到错误。