Session:"数据无法验证的错误"

1 Session有效期

Session在IE中:
 有效的窗品包括
 1.Session对象只在建立Session对象的窗口中有效。
 2.在建立Session对象的窗口中新开链接的窗口

 无效的窗口包括
 1.直接启动IE浏览器的窗口
 2.不是在建立Session对象的窗口中新开链接的窗口

2 解决方式1

这种情况是因为会话状态(包括SESSION、VIEWSTATE等等)与服务器上登记的数据不匹配。大多数原因是因为你开发用的.net framework和应用服务器上安装的.net Framework版本(你可以查看C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/aspnet_isapi.net这个文件的版本)不同造成的。
如果更新服务器有困难,可以在页首Page指令中取消MAC验证,方法是<% @ Page EnableViewStateMac="false">。

3 from 微软关于ViewState的文档http://support.microsoft.com/default.aspx?scid=kb;zh-cn;832183

视图状态消息身份验证代码 (MAC) 是一种身份验证标记(又称校验值),当对消息同时应用身份验证方案和密钥时就会创建该代码。MAC 通过使用相同的密钥进行计算和验证。因此,MAC 仅能由预定的接收方验证。可以使用多种加密技术和算法来创建 MAC,如安全散列算法 (SHA)、消息摘要 5 (MD5) 算法或数据加密标准 (DES) 算法。

视图状态 MAC 功能用以防止客户发送含有恶意视图状态数据的请求。默认情况下,视图状态 MAC 功能通过使用 Machine.config 文件中的 enableViewStateMac="true" 标志启用。

要确定所遇到的问题是否与 MAC 有关,最简单的方式是将该功能关闭。为此,请将 enable ViewStateMac 标志设置为 False。如果不再遇到视图状态错误,则该问题与 MAC 有关。

安装修复程序 323744 之前,Microsoft .NET Framework 1.0 中视图状态 MAC 的应用方式有所不同。本文介绍的修复程序(修复程序 832183)包括修复程序 323744。如果还不在该环境的所有其他计算机上安装修复程序 323744(单独安装或与修复程序 832183 一起安装),则未安装修复程序 323744 的计算机将出现视图状态数据错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值