System.Web.UI.ViewStateException无效的viewstate。客户端IP:127.0.0.1端口:xxx参考:http:///

时间:2014-08-29 14:56:05

标签: asp.net web-config viewstate machinekey

我目前有一个间歇性问题,用户在此帖子的标题中收到错误消息:

System.Web.UI.ViewStateException 视图状态无效。客户端IP:127.0.0.1端口:xxx参考:xxx

我终于设法在我们的开发环境中复制了这个内容,这似乎与在20分钟不活动时间后发布表单有关。

我最初认为这是导致问题的会话超时,但显然不是。

我找到了以下帖子:

Viewstate timeout error

这表明ViewState加密密钥具有有限的生命周期,默认情况下在服务器级别设置为:

<machineKey validationKey="AutoGenerate,IsolateApps"  
            decryptionKey="AutoGenerate,IsolateApps" 
            validation="SHA1" decryption="Auto" />

奇怪的是,并非所有用户同时发生这种情况,因此它不是应用池回收。

有没有人知道每个用户会话是否生成密钥?

我已设法修复此错误,我建议添加静态计算机密钥配置

<machineKey validationKey="9664D19D67A5EE43FE77CD2B660A57DF254B15714935DDDDAAC94BC66C5C398F894380AD56572C8762A1AB116B9070C7ACC7F32B489D23476CEA909448831AF3" 
  decryptionKey="CAD9BBC02543433C50CD4A11EA706F0F25FCD51F28E9DEAF20361F0AA2AB3793" 
  validation="SHA1" 
  decryption="AES" 
/>

在生产环境中这是安全的吗?由于申请已经运行了大约10年,我想要仔细检查,这是一个全球变化,我不愿意在不知道利弊的情况下做出改变。

提前致谢。

1 个答案:

答案 0 :(得分:0)

这是针对网络农场的建议,因此我认为没有理由为单个Web应用程序实例出现问题。