4

通常の Ajax Update パネルを含むページがあります。ユーザーの選択をサーバーに送信する送信ボタンがあります。ユーザーが 1 ~ 2 分待つと、サーバーからの応答は HTTP 413 (要求エンティティが大きすぎます) になります。これは、1、2 分待ってから再送信しようとしたときにのみ発生します。ページの土地とフォームを送信すると、サーバーはそれを処理できます。

uploadReadAheadSize を変更し (前述のhttp://forums.asp.net/t/1574804.aspx )、200,000,000 に設定しましたが、問題は解決しません。

HTTP リクエスト

POST https://server/somepage HTTP/1.1
Accept: */*
Accept-Language: en-US,zh-Hans;q=0.9,zh-CN;q=0.8,zh-SG;q=0.7,zh-Hant;q=0.6,zh-HK;q=0.4,zh-MO;q=0.3,zh-TW;q=0.2,zh;q=0.1
Referer: https://server/somepage
x-requested-with: XMLHttpRequest
x-microsoftajax: Delta=true
Content-Type: application/x-www-form-urlencoded; charset=utf-8
Cache-Control: no-cache
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; InfoPath.3; .NET4.0E)
Host: some-server
Content-Length: 86124
Connection: Keep-Alive
Form-Data...........

リクエストは SSL 経由です。

また、Web構成でhttpruntime構成を編集しようとしました

<httpRuntime executionTimeout="3600" maxRequestLength="1902400" />
4

1 に答える 1

4

それはエラーを解決しました。問題を正しく説明できる場合は、訂正してください。

SSL は、しばらくの間、安全なトンネルを開きます。そのため、その時間枠にデータを投稿しようとすると、すべてうまくいきました。ただし、トンネルが閉じられると、サーバーはクライアントの再ネゴシエーションの前にリクエストをプリロードします。しかし、プリロードの最大長が短く、失敗しました。

uploadReadAhead の値を 120,000 に設定しようとしましたが、これはエンティティ リクエスト サイズの約 86,000 よりも大きくなっています。それでもリクエストは失敗しました(奇妙な.. ????)。

約10MBの値に設定すると問題ありませんでした。

于 2012-05-07T12:36:23.460 に答える