问题:用户登入之后,URL会出现一长串字符,类似SessionId,把这一长串字符删除之后重新进入页面,页面又会自动地跳转到登录页面,所以,应该是Session没记住用户已经登录的信息。

网站环境:
1、服务器端为Windows Server
2003,客户端用IE10以下版本登录不会出现此问题,只有用IE10登录会出现这问题。
2、如果服务器为Windows Server 2008,客户端用IE10也不会出现这个问题。

简单来说,这算是个 ASP.NET 2.0、3.5 与 4.0 的 Bugs,因为这两个版本无法识别 IE10 的
User-Agent 标头字串,所以无法正确识别用户端的 IE10 浏览器版本,因而导致 ASP.NET
特定功能失效,在这个例子中,出问题的地方在于 ASP.NET 以为浏览器不支持 Cookies 功能,所以 ASP.NET
将不处理任何与 Cookies 相关的代码!

以下是 IE10 的 User-Agent 标头字串:

User-Agent: Mozilla/5.0 (compatible; 

MSIE 10.0

; Windows NT 6.2; Trident/6.0)

微软官方针对这个 Bug,发布了两个 Hotfix 专门用来解决这个问题,各位如果遇到一样的问题可以参考以下两篇 KB 说明:
    KB2600088:
修补程序是可用于在 Microsoft.NET Framework 4.0 中的 ASP.NET
浏览器定义文件

    KB2608565:
修补程序是可用于在 .NET Framework 3.5.1 中的 ASP.NET
浏览器定义文件

    KB2600100:
修补程序是可用于在 .NET Framework 3.5 SP1 与 .NET Framework 2.0 SP2
中的 ASP.NET 浏览器定义文件

在此分享一个更简易的解决方法,只要在网站目录新增一个浏览器定义档 (browser definition file)
即可解决此问题,步骤如下:

1. 先在网站目录下新增一个 App_Browsers 文件夹

2. 新增一个文档名为 *.browser 的文件,例如:IE10Fix.browser,文件内容如下:

  1. <</span>browsers>
  2. <</span>browser refID="Default">
  3. <</span>capabilities>
  4. <</span>capability name="cookies" value="true" />
  5. <</span>capability name="ecmascriptversion" value="3.0" />
  6. </</span>capabilities>
  7. </</span>browser>
  8. </</span>browsers>

设定完成后,问题自然解决!

最新文章

  1. geotrellis使用(二十二)实时获取点状目标对应的栅格数据值
  2. 常用的logging配置
  3. 无法识别的配置节 connectionStrings
  4. php lock_sh共享锁 与 lock_ex排他锁
  5. js 限制input输入字节长度
  6. poj 1220(短除法)
  7. C#如何使用HttpWebRequest、HttpWebResponse模拟浏览器抓取网页内容
  8. 马士兵 Servlet_JSP(3) Servlet和JSP的通信(源代码)
  9. 一些实用的mysql语句(不断积累更新)
  10. Java语言跨平台原理
  11. Jquery对raido的一些操作方法
  12. xdu_1009: Josephus环的复仇(线段树)
  13. Solr-Centos7 安装部署solr-5.5.4
  14. 第二个MapReduce
  15. centos下设置nodejs开机启动
  16. PHP函数memory_get_usage获取PHP内存清耗量
  17. Alpha事后诸葛亮(阳光普照队)
  18. java基础之java的基本数据类型
  19. elementUI 学习入门之 container 布局容器
  20. linux命令(9):route命令

热门文章

  1. 破解软件感悟-PE文件格式之实例总结(五)
  2. ashx文件要使用Session
  3. SQL Server 添加登录账户配置权限
  4. Elementary os的安装
  5. @@ROWCOUNT (Transact-SQL)
  6. 基于jquery的inputlimiter 实现字数限制功能
  7. Objective-C设计模式——抽象工厂模式Abstract Factory(对象创建)
  8. Codevs 1083 Cantor表
  9. javascript a=a||&quot;&quot; 表达式
  10. .NET4.5可以给所有线程设置默认的Culture了