注: この Web サイトhttp://www.redbullracingshop.com.au/を参照してください。
フロントエンドで角度のある $.http インタラクションとともに .net WebApi を実行しています。クライアントは最近、サイトの動的機能が IE で動作しなくなったと述べました。
いくつかのブラウザでコードを実行し、リクエストを監視した後。IEで気付きました。Post リクエストは、クライアントに結果を返す前に、約 2 分間ハングまたは「保留中」でした。サーバー上のいくつかのブレークポイントと JavaScript を使用してコードを実行し、コードがロックされている場所を見つけたところ、リクエストが正常に起動し、サーバー コードが期待どおりに実行されることがわかりました。ここで行き詰まっているものは何もありません。
サーバースニペット
[AcceptVerbs("POST")]
public void AddToCart(JObject jsonData){
// DO CODE
}
void 応答または 204 を返しています。これは私が期待しているものであり、これをエラーとは考えていません。サーバーが応答してからクライアントが応答を受信するまでの間に、2 分間の停止がありますか?
これは多分角度エラーですか?
クライアントスニペット
this.post = function (url, data, success, fail) {
fail = (fail !== undefined) ? fail : success;
$http.post(url, data)
.success(function (data) {
if (data.length == 0) {
success(onEmpty(url));
} else {
success(data);
}
})
.error(function (data) {
fail(onError(url, data));
});
}
私が調査したところ、これは IE10 でのみ発生しており、開発コンソールからエミュレートされたバージョンとは対照的に、以前のバージョンの実際のバージョンでは発生していないことがわかりました。
IE が 204 応答で興味深いことを行っていることは知っていますが、これは IE10 で変更されている可能性があります。ここを参照https://github.com/angular/angular.js/issues/357?source=cc
ネットワーク インスペクターの結果は次のとおりです。
/api/CartApi/AddToCart | 投稿 | 204 | 295B | 384.76 秒 | XMLHttpRequest
何か案は?他のすべてが失敗した場合は、これらすべての無効な WebAPI 応答を空の文字列に変換してみる必要があります。