0

ASP.NET 3.5 アプリがあり、ネストされたカスタム コントロールを持つ更新パネルを更新しようとしています。そのカスタム コントロールには ComponentArt ガードがあり、この更新でほぼ 13 MB のデータ (はい、チャンクできます...) で満たされます。

updatePanel とグリッドが必要なときに、クライアント側から JS によってトリガーされる更新パネル内に非表示のボタンがあります。

Updatepanelxyz.Update() を使用して asyncPostback 中に Update メソッドを呼び出すと、プロセスの後半で、JSonSerializer がこの量のデータを処理できないという asyncPostBackError が表示されます。指定値を大きくする必要があります。

それはそう。了解した。しかし、web.config でこの値を変更すると、約 8MB までしか機能せず、それ以上は機能しません。その場合、JSonSerializer に制限はありますか。値を Int32 の最大値に設定しました。これは、デフォルト値の 1000 倍のようなもので、4 MB のシリアル化されたデータにはすでに十分です。

助言がありますか?シリアライザーにそれを強制する方法はありますか? 別のシリアライザーを使用する方法はありますか?

乾杯、スティーブ

4

3 に答える 3

1

おい、1 mb のデータは多すぎる - なぜ 13 が必要なの?

UIをリファクタリングする必要があると本当に思います。あなたのネットワークがどれほど速いかは気にしません。それはただのクレイジーなことです!

于 2008-11-12T06:06:46.750 に答える
0

UI と DataAccess レイヤーにリファクタリングが必要であることには完全に同意しますが、短期的には、ソフトウェアの次の更新がリリースされるまで、クライアントを支援するためのシンプルで迅速なソリューションを探していました。

于 2008-11-13T19:23:47.917 に答える
0

最善の策は、web.config セクションの ScriptingJsonSerializationSection.MaxJsonLength プロパティを変更することです。

JsonSerializer クラスの制限である 2097152 文字とは対照的に、デフォルトは 102400 文字です。

見る:

JsonSerializer クラスの maxJsonLength プロパティ

JsonSerialization 構成セクションの最大長プロパティ

上で述べたように、残念ながら、構成セクションのプロパティを変更することが唯一の方法です。

于 2011-01-27T02:55:48.720 に答える