2012-01-20 13 views
4

viewstateがデコードできないエラーが発生しています。また、http postデータが正確に48Kで切り捨てられたというエラー(49152)バイト。49152バイト(48K)で切り捨てられたASP.NET POST-DATA

これは、.NET 2.0 SP1のfixedバグの1つとしてlistedでした。私は現在.NET 3.5 SP1を持っています。

この問題はすべての投稿で発生するとは思われません。何か案は? .NET Framework 2.0 Service Pack 1で固定されている

KB 945757問題

KB 925248 FIX:ASP.NET接続アプリケーションPOSTリクエスト内のデータが49,152バイトに切り捨てられPOSTリクエストを受信しました

EDIT:エンコードの指定をフォームに追加した後、エラーログにこれらのエラーが表示されました。 content-typeがurl-encodedに正しく設定され、content-lengthが49152を超えていたことを示しています。しかし、エラーログ内のポストデータのダンプも正確に49152バイトでした。ページから送信ボタンを何回かクリックして再作成できました。何らかの理由でページが非常にゆっくりと処理されるため(以前ははるかに高速でした)、ユーザーがこれを行ったと思います。これは、この切り詰めに遭遇した後続の提出の可能性が高い。私の修正は、ページをもう一度速くしたり、最初のクリックからボタンを無効にすることです。

+0

圧縮し、切り取り、使用していないビューステートデータを無効にし、この膨大な量のデータをポストしないようにプログラムを再設計します。 – Aristos

+0

@Aristos、残念ながら、既に圧縮されており、コードは継承されて大きく、すぐに変更が行われることはありません。一方、48Kは、ポストデータ、ビューステート、またはそれに妥当な制限ではないようです。 – user1066127

答えて

1

私は、フォームがapplication/x-www-form-urlencodedとして送信された場合、あなたのcontent-typeなどこれを設定しよう除いて、それは48KB以上すべてのデータを切り捨てますIIS5は、この問題を抱えていたことを知っていますか:

<form accept-charset="utf-8" 
     enctype="application/x-www-form-urlencoded" ... > 

</form> 

pen-testerがこの問題を引き起こす可能性があります。

HTTPスマグリングを検索しても同じ問題が発生します。

read more HTTPスマグリングについての情報。

+0

IIS6にまだバグがあるかどうか知っていますか?それが私たちが使っているものです。 – user1066127

+0

はテストするIIS6を持っていませんが、7.だけですが、フォーム属性 'enctype'を試しましたか、正しく動作しますか? – balexandre

+0

はいenctypeを追加しました。いつも起こっていなかったランダムなエラーだったので、問題が修正されたかどうかはわかりません。 – user1066127

1

私はこれを一度実行し、それはそれを切り捨てているブラウザだと分かった!

もうどちらかが覚えていません。私はそれがfirefoxだったと言いたいが、私は確信が持てない。

フォームのコンテンツタイプをmultipart/form-dataに変更しました。

+0

私のすべてのユーザーはいろいろなバージョンのIEにいますが、少なくともIE7と8ではこの問題が報告されていますが、私はIE9からは見たことがありません。 – user1066127

+0

はあなたのフォームタイプのマルチパートですか?私が言ったように、それは確かにFirefoxの場合は覚えていない。フォームのタイプを確認してください – Patricia

+0

F12とFiddlerをチェックインすると、フォームはマルチパートではなくURLでエンコードされます。しかし、私はこのエラーが自分自身で起こったことは一度も見たことがありません。エラーのレポート(サイトから私に電子メールで送付されます)には、ポストデータが途切れていることがわかります。 – user1066127

関連する問題