1

IIS 6 + Windows 2003 で実行されている古いレガシー ASP.NET アプリケーションのトラブルシューティングを行っています。このアプリには、System.UI.Web.Timer を使用してデータグリッドを更新するためにサーバーを非同期的にポーリングするページがいくつかあり、多くのビューステートを送り返します。各リクエスト (やりすぎですが、まだ何もできません) これらのポーリング更新で断続的な HTTP 413 コードが発生しており、その理由がわかりません。

これまでに行ったことは、メタベース内の適切なノードに対して maxrequestlength と uploadreadahead サイズ (アプリケーションがクライアント証明書認証を使用している) が構成されていることを確認することですが、エラーが発生し続けます。firebug を使用してリクエスト データを監視すると、送信される投稿本文のサイズが設定されたサイズのいずれかを大きく下回っていることがわかります。さらに、このアプリケーションでは、これらの非同期リクエストによって送信されるデータのサイズ (平均で 2 ~ 5 MB) をはるかに超える画像をサーバー (https 経由) にアップロードできること、およびこれらのアップロード問題なく動作します。

奇妙な部分は、413 を引き起こすために必要なデータの量がさまざまであることです。160000 バイトを送信するリクエストは問題なく通過する可能性があり、〜 158000 バイトの次のリクエストは 413 で失敗します。リクエストの合計サイズと送信されるエンティティのサイズの両方を考慮しましたが、変動はまだあります存在します。

2 つ目の奇妙な点は、非同期ポストバックが開始され、別の要求が開始された (つまり、データグリッドの並べ替え列を 2 回クリックした) ために中止された場合、413 が発生することが保証され、その後の各非同期要求はエラーで失敗することです。 .バイト)。

私は主に Java 開発者であるため、ASP.NET (3.5) + IIS 6 環境にはあまり詳しくありませんが、要求が大きすぎるだけでなく、ここで何かが起こっているようです。

ヘルプ/ポインタ/リンク/何でも大歓迎です。

4

0 に答える 0