base-64字符串中的字符无效 - ViewState?

时间:2012-01-04 17:15:30

标签: asp.net viewstate

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,但是我在触发错误时遇到了麻烦。我从来没有能够在dev中触发错误,只是刺激。即使在prod中,我也无法轻易重现错误。页面上有一些数据视图的过滤器,选择不同的值最终会引发错误,但不会出现我能想出的任何模式。有时它是我第一次更换过滤器,有时候没有组合。

1 个答案:

答案 0 :(得分:0)

这可能是以下原因之一:

  • 应用程序池回收
  • 服务器场或服务器群集
  • 代理服务器和病毒扫描程序

首先,我会使用machine.config中的特定键来阻止每个进程启动时自动生成密钥