解决ASP.NET在IE10中Session丢失问题

简介:
   引用: http://www.cnblogs.com/fanvy/archive/2013/02/07/2908769.html
今天发现在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专门用来修复这个问题,各位如遇到同样的问题,可参考以下说明:



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



本文转自 netcorner 博客园博客,原文链接:http://www.cnblogs.com/netcorner/archive/2013/06/08/3126496.html   ,如需转载请自行联系原作者

相关文章
|
2月前
|
存储 开发框架 NoSQL
ASP.NET WEB——项目中Cookie与Session的用法
ASP.NET WEB——项目中Cookie与Session的用法
36 0
|
3月前
|
开发框架 .NET
ASP.NET Core NET7 增加session的方法
ASP.NET Core NET7 增加session的方法
37 0
|
开发框架 JavaScript .NET
Asp.Net Core中Session使用
Asp.Net Core中Session使用
116 0
|
缓存 前端开发 API
.Net WebApi中使用Session使用
.Net WebApi中使用Session使用
253 0
|
存储 开发框架 .NET
ASP.NET中利用Application和Session统计在线人数、历史访问量
先来简单说一下ASP.NET中的Application和Session 下图是我们非常熟悉的Web应用程序的结构:
ASP.NET中利用Application和Session统计在线人数、历史访问量
|
存储 中间件 .NET
ASP.NET Core Web Api之JWT VS Session VS Cookie(二)
ASP.NET Core Web Api之JWT VS Session VS Cookie(二)前言本文我们来探讨下JWT VS Session的问题,这个问题本没有过多的去思考,看到评论讨论太激烈,就花了一点时间去研究和总结,顺便说一句,这就是写博客的好处,一篇博客写出有的可能是经验积累,有的可能是学习分享,但都逃不过看到文章的你有更多或更好的想法,往返交流自身能收获更多,何乐而不为呢?希望本文能解惑或者能得到更多的交流。
2860 0
|
.NET 容器 开发框架
ASP.NET Core 2 学习笔记(十一)Cookies & Session
原文:ASP.NET Core 2 学习笔记(十一)Cookies & Session 基本上HTTP是没有记录状态的协定,但可以通过Cookies将Request来源区分出来,并将部分数据暂存于Cookies及Session,是写网站常用的用户数据暂存方式。
1329 0
|
SQL Web App开发 存储
艾伟_转载:ASP.NET Session详解
当用户在 Web 应用程序中导航 ASP.NET 页时,ASP.NET 会话状态使您能够存储和检索用户的值。HTTP 是一种无状态协议。这意味着 Web 服务器会将针对页面的每个 HTTP 请求作为独立的请求进行处理。
1137 0
|
Web App开发 存储 SQL