发布于 2016-06-04 06:35:34 | 54 次阅读 | 评论: 1 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

ASP.NET

ASP.NET 是.NET FrameWork的一部分,是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们。 指 Active Server Pages(动态服务器页面) ,运行于 IIS(Internet Information Server 服务,是Windows开发的Web服务器)之中的程序 。


IE10中Session丢失问题引起众多业内人士的关注,今天发现在IE10中登录网站时,使用表单验证机制(FormsAuthentication)却无法判断该用户已登入,保存的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在IE10中无法判断用户已登入及Session丢失问题解决方法
ASP.NET在MVC中MaxLength特性设置无效的解决方法
ASP.NET在IIS7中上下文中不可用的解决方法
asp.net 在global中拦截404错误的实现方法
ASP.NET导出Excel打开时提示:与文件扩展名指定文件不一致解决方法
asp.net session丢失的解决方法小结
Asp.net在ashx文件中处理Session问题解决方法
asp.net中不能在DropDownList中选择多个项 原因分析及解决方法
asp.net无法获取iis目录的问题解决方法
ASP.NET中TextBox使用Ajax控件显示日期不全的问题解决方法
使用asp.net的pageDataSource中时索引问题解决方法
asp.net类库中添加WebService引用出现问题解决方法
最新网友评论  共有(1)条评论 发布评论 返回顶部
eokf 发布于2016-10-09 23:50:20
学习了啊!
支持(0)  反对(0)  回复

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务