问题描述
日期时间:2014-12-1010:25:01IP:119.79.147.167上一路径:http://xxx.com/ShopOrder.aspx当前路径:http://xxxcom/ShopOrder.aspxHttpCode:500异常类型:System.FormatException异常对象:mscorlib反射对象:Byte[]FromBase64String(System.String)异常消息:Base-64字符数组的无效长度。异常信息:System.FormatException:Base-64字符数组的无效长度。在System.Convert.FromBase64String(Strings)在System.Web.UI.ObjectStateFormatter.Deserialize(StringinputString)在System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(StringserializedState)在System.Web.UI.Util.DeserializeWithAssert(IStateFormatterformatter,StringserializedState)在System.Web.UI.HiddenFieldPageStatePersister.Load()奇怪的是我这个页面没有用到加密解密,只用到从cookie里面取值
解决方案
解决方案二:
你是否会对一个字符串执行FromBase64String转换?如果字符串参数没有经过Base64编码,转换会报错的。
解决方案三:
转换的字符串不是标准的base64格式的。要么中间混杂了空格、空行。
解决方案四:
如果你自己没有调用base64解码编码的话,可能是ViewState引起的。看看下面这个讨论Whatcausingthis“InvalidlengthforaBase-64chararray”里面有说Viewstate太大了。