IE10下Session丢失问题接军

32 篇文章 0 订阅
10 篇文章 0 订阅

近日使用JQuery完成一个项目,开发环境测试了FF、Chrome、IE10,都工作正常,放到服务器(windows  server 2008 r2)上,在客户端FF、Chrome上浏览都没问题,在IE10下,出现问题:登录进去马上退出,最后经过一番周折,发现是SessionID丢失了。莫名其妙!


开始从网上查找解决方法:(以下方法来自互联网)

原因:IE10送出的HTTP头,和.AUTH Cookie都没问题,但使用表单验证机制(FormsAuthentication)却无法判断该用户已登入,保存的Session总会丢失。这是ASP.NET2.0,3.5和4.0的Bugs,因这些版本无法识别IE10的User-Agent标头字符串,所以无法识别用户浏览器的版本,从而导至了ASP.NET的特定功能失效,认为游览器不支持Cookies功能,不处理与Cookie相关的程式码等,从而在浏览器中不保存服务器返回的Session标识,造成丢失等。

      这个问题早经微软官方确认,是IE10的一个Bug,也发布了两个HOTFIX专门用来修复这个问题,各位如遇到同样的问题,可参考以下说明:



   简单的解决方法是:在网站根目录,新增一个浏览器定义文件(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中控件事件回发操作无效问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值