1

MaxJsonLength を超えているとは思いませんが、「JSON JavaScriptSerializer を使用したシリアル化または逆シリアル化中にエラーが発生しました。文字列の長さが maxJsonLength プロパティで設定された値を超えています」というメッセージが引き続き表示されます。

結果の長さを確認したところ、25,000 行でした。小さい結果を出力して各行の平均長を調べたところ、平均行の長さは 48.5 文字でした。

25,000 * 48.5 文字 = 1,224,140 文字。

MS によると、maxJsonLength は文字単位であるとのことです。Int32.MaxValue が 20 億を超えています。何を与える?

注: 私は MVC を使用していません。これは VB 2010 で記述された jQuery と通信する WebMethod です。結果は辞書配列を使用して編成されます。小さいセットでも問題なく結果が得られます。シリアライザーの maxJsonLength が最大に設定されていることを確認しました。

よろしくお願いします!

4

1 に答える 1

1

ASP.NETには、デシリアライズ用のデフォルトの最大値である1000JSONメンバーがあります。昨年12月に導入されました。これがアプリケーションの問題であるかどうかを確認してください。これに関する記事があります。

于 2012-10-05T15:22:35.290 に答える