我们有一个ASP.NET应用程序,在以前版本的Internet Explorer 10中没有任何问题。
但是相同的应用程序在Internet Explorer 10中不起作用。
当我调查此问题时,我发现.asmx网络服务的引用获得了401个未经授权的错误。
IE10的有问题请求与IE9的工作请求之间的唯一区别是:用户代理字符串。
让我告诉你差异:
以下请求是IE10的有问题请求。
GET http://abc.com/Services/ResourceService.asmx/jsdebug HTTP/1.1
Accept: application/javascript, */*;q=0.8
Referer: http://abc.com/def/ghi.aspx
Accept-Language: tr-TR
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)
Connection: Keep-Alive
DNT: 1
Host: sgmiis2:8090
Cookie: .ASPXANONYMOUS=XXXASP.NET_SessionId=YYY;ASPXAUTH=ZZZ;
它正在
401 - 未经授权:由于凭据无效,访问被拒绝。
这是IE10之前的相同应用程序请求。
GET http://abc.com/Services/ResourceService.asmx/jsdebug HTTP/1.1
Accept: application/javascript, */*;q=0.8
Referer: http://abc.com/def/ghi.aspx
Accept-Language: tr-TR
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/6.0;)
Connection: Keep-Alive
DNT: 1
Host: sgmiis2:8090
Cookie: .ASPXANONYMOUS=XXXASP.NET_SessionId=YYY;ASPXAUTH=ZZZ;
但是这个请求正在起作用
HTTP / 1.1 200确定
正如您所看到的唯一区别是用户代理标题的“MSIE 10.0”和“MSIE 7.0 / MSIE 8.0 / MSIE 9.0”部分。
我正在通过Fiddler的作曲家部分创建请求。所以没有真正得到401错误的风险。 (我的意思是错误的cookie)因为当我只更改了用户代理字符串时,我可以成功获得HTTP 200的响应。
任何想法我怎么能找出问题?
谢谢,
法提赫。
答案 0 :(得分:0)
有很多问题,即10。
Microsoft .NET
中的ASP.NET浏览器定义文件可以使用修补程序请参阅http://support.microsoft.com/kb/2600088了解.NET 4.0 请参阅http://support.microsoft.com/kb/2608565了解.Net 3.5
我希望它会对你有所帮助。