当前位置:首页> 正文
ASP.NET在IE10中无法判断用户已登入及Session丢失问题解决方法
今天发现在IE10中登录我公司的一个网站时,点击其它菜单,页面总会自动重新退出到登录页,后检查发现,IE10送出的HTTP头,和.AUTH Cookie都没问题,但使用表单验证机制(FormsAuthentication)却无法判断该用户已登入,保存的Session总会丢失.
后查实这是ASP.NET 2.0,3.5和4.0的Bugs,因这些版本无法识别IE10的User-Agent标头字符串,所以无法识别用户浏览器的版本,从而导至了ASP.NET的特定功能失效,认为游览器不支持Cookies功能,不处理与Cookie相关的程式码等,从而在浏览器中不保存服务器返回的Session标识,造成丢失等.
这个问题早经微软官方确认,是IE10的一个Bug,也发布了两个HOTFIX专门用来修复这个问题,各位如遇到同样的问题,可参考以下说明:
KB2600088: Hotfix 适用在 Microsoft.NET Framework 4.0 中的 ASP.NET [英文]
KB2608565: Hotfix适用在 .NET Framework 3.5.1 中的 ASP.NET [英文]
KB2600100: Hotfix适用在 .NET Framework 3.5 SP1与 .NET Framework 2.0 SP2 中的 ASP.NET [英文]
简单的解决方法是,在网站根目录,新增一个浏览器定义文件(browser definition file)
步骤如下:
1.添加一个"App_Browsers"文件夹
2.添加一个"*.browser"后缀的文件,如IE10.browser.
3.添加文件内容如下:
复制代码 代码如下:
browsers
browser refID="Default"
capabilities!-- To avoid wrong detections of e.g. IE10 --
capability name="cookies" value="true" /
capability name="ecmascriptversion" value="3.0" /
/capabilities
/browser
/browsers
设定完成,问题即可解决 您可能感兴趣的文章:asp.net(C#)清除全部Session与单个Session的方法C#程序中session值的保存方法以及转为字符串的方法总结C#程序中session的基本设置示例及清除session的方法ASP.NET在底层类库中获取Session C#类中获取SessionC#实现简单获取及设置Session类C#操作session的类实例asp.net(c#)有关 Session 操作的几个误区IIS服务器中 ASP.NET State Service 开启后 Session 仍容易丢失的问题终极解决办法asp.net删除文件session丢失C# SESSION丢失问题的解决办法
后查实这是ASP.NET 2.0,3.5和4.0的Bugs,因这些版本无法识别IE10的User-Agent标头字符串,所以无法识别用户浏览器的版本,从而导至了ASP.NET的特定功能失效,认为游览器不支持Cookies功能,不处理与Cookie相关的程式码等,从而在浏览器中不保存服务器返回的Session标识,造成丢失等.
这个问题早经微软官方确认,是IE10的一个Bug,也发布了两个HOTFIX专门用来修复这个问题,各位如遇到同样的问题,可参考以下说明:
KB2600088: Hotfix 适用在 Microsoft.NET Framework 4.0 中的 ASP.NET [英文]
KB2608565: Hotfix适用在 .NET Framework 3.5.1 中的 ASP.NET [英文]
KB2600100: Hotfix适用在 .NET Framework 3.5 SP1与 .NET Framework 2.0 SP2 中的 ASP.NET [英文]
简单的解决方法是,在网站根目录,新增一个浏览器定义文件(browser definition file)
步骤如下:
1.添加一个"App_Browsers"文件夹
2.添加一个"*.browser"后缀的文件,如IE10.browser.
3.添加文件内容如下:
复制代码 代码如下:
browsers
browser refID="Default"
capabilities!-- To avoid wrong detections of e.g. IE10 --
capability name="cookies" value="true" /
capability name="ecmascriptversion" value="3.0" /
/capabilities
/browser
/browsers
设定完成,问题即可解决 您可能感兴趣的文章:asp.net(C#)清除全部Session与单个Session的方法C#程序中session值的保存方法以及转为字符串的方法总结C#程序中session的基本设置示例及清除session的方法ASP.NET在底层类库中获取Session C#类中获取SessionC#实现简单获取及设置Session类C#操作session的类实例asp.net(c#)有关 Session 操作的几个误区IIS服务器中 ASP.NET State Service 开启后 Session 仍容易丢失的问题终极解决办法asp.net删除文件session丢失C# SESSION丢失问题的解决办法
展开全文阅读
相关内容
-
ie支持function.bind()方法实现代码
ie支持function.bind()方法实现代码,方法,支持,复制,执行,原...
-
IE9版本以下ajax 跨域问题可行解决方法
IE9版本以下ajax 跨域问题可行解决方法,跨域问题,解决方法,提...
-
微信键盘设置在哪里 微信键盘设置方法
微信键盘设置在哪里 微信键盘设置方法,键盘设置,微信,方法,键...
-
HTML5在IE10、火狐下中文乱码问题的解决方法
HTML5在IE10、火狐下中文乱码问题的解决方法,火狐,网页,复制,...
-
ie与session丢失(新窗口cookie丢失)实测及解决
ie与session丢失(新窗口cookie丢失)实测及解决方案,丢失,新窗...
-
IE浏览器单独写CSS样式的几种方法
IE浏览器单独写CSS样式的几种方法,浏览器,条件,维护,复制,注...
-
IE10中flexigrid无法显示数据的解决方法
IE10中flexigrid无法显示数据的解决方法,解决方法,数据,无法...
-
IE10下Gridview后台设置行高不起作用解决方法
IE10下Gridview后台设置行高不起作用解决方法,行高,后台,解决...
-
IE不能上网浏览的常见原因和解决方法
IE不能上网浏览的常见原因和解决方法,解决方法,命令,文件,原...
-
把Windows 系统中的IE8浏览器降为IE6的方法
把Windows 系统中的IE8浏览器降为IE6的方法,方法,版本号,版本...
-
如何彻底优化IE浏览器 六种设置方法轻松优化你
如何彻底优化IE浏览器 六种设置方法轻松优化你的IE浏览器,方...
-
CSS HACK收集:关于IE6/FF/google等浏览器hack的
CSS HACK收集:关于IE6/FF/google等浏览器hack的方法详细,浏览...
-
IE和FF在对js支持的不同(整理)及解决方法
IE和FF在对js支持的不同(整理)及解决方法,支持,对象,标签,属...
-
写CSS样式做浏览器兼容时区别ie8和ie9的方法
写CSS样式做浏览器兼容时区别ie8和ie9的方法,时区,浏览器兼容...
-
为ie和chrome单独设置样式的方法
为ie和chrome单独设置样式的方法,设置,方法,这是,复制,样式,...