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 的计算机将出现视图状态数据错误。