2016-08-04 30 views
0

我们已经得到了很多错误,这样在我们的督促环境,这是不是在DEV重现性好,我们的asp.net web表单应用程序:无效的视图状态或截断视图状态的防火墙或代理

输入不一个有效的Base-64字符串,因为它包含非基本64字符, 多于两个填充字符,或填充 字符中的非空白字符。

在System.Convert.FromBase64String(字符串或多个)
在System.Web.UI.ObjectStateFormatter.Deserialize(字符串inputString)
在System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize (字符串serializedState)
在System.Web.UI.Util.DeserializeWithAssert(IStateFormatter格式化器,字符串serializedState)
在System.Web.UI.HiddenFieldPageStatePersister.Load()
错误WTAS-ADM01 global_asax的Application_Error App_global.asax

未处理的申请发生错误:无效的视图状态。

我已经对这类错误做了一个快速研究,并且知道背后最可能的原因是页面上的Viewstate被某些防火墙或代理截断。但我不确定这些事情是否真的是原因。

任何人都可以请指导我如何在我的DEV环境中重现此操作。所以,至少我可以确定这些确实是罪魁祸首。

回答

0

很难重现您的防火墙/代理如何处理您的请求。

更简单的方法是to persist your viewstate on the server-side来测试它;如果它在你的开发盒和产品上工作,你就知道它确实是关于截断你的Viewstate的东西。