我认为我已经尝试了所有针对此问题的标准回答,并且我知道我已经阅读了数百个关于此问题的问题和帖子,但没有他们似乎已经解决了这个问题,或者说明了我的情况下的原因。 (我5小时下来,没有接近:-()视图状态验证在网络农场中失败 - 常见嫌疑人被淘汰
我有2个服务器网络农场。
我已经设置machine.config中机键和确认键两台机器
加密:SHA1,解密:AES - 这是默认设置,它可以帮助改变他们
我已经验证,在链中没有任何其他配置文件(web.cfg,APPHOST等)有一个这些值的设置。
我添加了一个页面到吐机器键值背出现场(based on this SO),并证实它们是相同的跨越请求机器和匹配是机器的.config
值
服务器端会话状态位于共享状态服务器中,我已验证sessionid对2个服务器的请求之间保持不变。
我已验证页面已完全加载,__EVENTVALIDATION隐藏字段在启动帖子之前已呈现到页面中。该视图状态的大小是不是太糟糕,在7.64kb
当页面从请求呈现给服务器1,然后回传到服务器2,我得到的可怕...
Error Message:
Unable to validate data.
at System.Web.Configuration.MachineKeySection.GetDecodedData(Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Int32& dataLength)
at System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) HttpApplication.RecordError => HttpApplication.RaiseOnError => global_asax.Application_Error
这篇文章是由一个标准的,纯粹的asp链接按钮触发的,页面上没有ajax。
任何和所有的帮助将不胜感激。
设置enableViewStateMAC =虚假不:-)