【发布时间】:2012-01-04 17:15:30
【问题描述】:
Web 应用程序每天都会抛出一些此类错误。
Exception: System.FormatException: Invalid character in a Base-64 string.
at System.Convert.FromBase64String(String s)
at System.Web.UI.ObjectStateFormatter.Deserialize(String inputString)
at System.Web.UI.Util.DeserializeWithAssert(IStateFormatter formatter, String serializedState)
at System.Web.UI.HiddenFieldPageStatePersister.Load()
我认为错误来自解码 ViewState,但我在触发错误时遇到了麻烦。我从来没有能够在开发中触发错误,只有 prod。即使在产品中,我也无法轻松重现该错误。页面上有几个用于数据视图的过滤器,选择不同的值最终会引发错误,但不是我能弄清楚的任何模式。有时这是我第一次更换过滤器,有时没有组合。
【问题讨论】:
-
当 ViewState 被回发时,是否有代理/firewill 可能会搞乱它?
-
这不会引发安全异常吗?
-
我们每天也有一些。我想黑客正在尝试奇怪的事情,以防它破坏您服务器中的某些东西。