0

以前のバージョンの Internet Explorer 10 で問題なく動作する ASP.NET アプリケーションがあります。

ただし、同じアプリケーションは Internet Explorer 10 では機能しません。

この問題を調査したところ、.asmx Web サービスの参照で 401-unauthorized エラーが発生することがわかりました。

問題のある IE10 のリクエストと IE9 の動作中のリクエストの唯一の違いは、User-Agent 文字列です。

違いをお見せしましょう:

以下のリクエストは、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 - Unauthorized: 認証情報が無効なため、アクセスが拒否されました。


これは、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 OK


ご覧のとおり、違いはユーザー エージェント ヘッダーの「MSIE 10.0」セクションと「MSIE 7.0/MSIE 8.0/MSIE 9.0」セクションだけです。

Fiddler の Composer セクションからリクエストを作成しています。したがって、実際に 401 エラーが発生するリスクはありません。(つまり、Cookieに問題があるということです)ユーザーエージェント文字列のみを変更した場合、HTTP 200の応答を正常に取得できるためです。

どうすれば問題を把握できますか?

ありがとう、

ファティ。

4

1 に答える 1