在做项目的时候遇上一个奇怪的问题,这个项目是用前端DWZ框架+MVC框架做的,在IE10和IE11上, 用户登录之后,操作界面中的任何操作,都无法操作,抛出异常,经过查找分析发现, 只有在IE10和IE11上请求后台时,cookie丢失,我就郁闷了 ,IE9和其他浏览器都没问题,怎么在IE10 、IE11上就有问题了,最后在一个博客里面看到一篇文章跟我的问题类似,然后就试着操作了下,还真成了。原来是因为IE10IE11 User-Agent 导致APS.NEt网站无法写入cookie,这个问题已经经过微软官方确认,是IE10的Bug,其实也可以认为是ASP.NET 2.0、3.5、4.0的Bug。具体的问题分析和解决方案,可查看 http://www.cnblogs.com/maoniu602/p/3799958.html 这个,我这是打酱油的,我的解决方案比那个博客上写少做两步,我这里是成的
我的解决方案是:
在网站的根目录,新增一个浏览器定义文件,步骤如下:
1、添加一个"App_Browsers"文件夹 ;
2、添加一个"*.browser"后缀的文件,如 IE10.browser;
3、在文件中添加如下内容(下面的配置表示,对所有的设备和浏览器,都支持Cookies):
<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>