Web サイトでエラーが発生しました。JSON JavaScriptSerializer を使用したシリアル化または逆シリアル化中にエラーが発生しました。文字列の長さが maxJsonLength プロパティで設定された値を超えています。
使用された技術: C#,. NET FW 4.5、ASP.NET MVC4、Lint to SQL、Kendo UI (結果表示用グリッド)。
(Jsonに関して)大量のデータセットを返したい-実際には50,000レコードあります(250,000レコード以上は発生しません)
私はmaxJsonLengthを拡大しようとし、将来はweb.configで圧縮を有効にします-同じエラーが発生します:
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="10485760"/>
</webServices>
<scriptResourceHandler enableCompression="true" enableCaching="true"/>
</scripting>
</system.web.extensions>
次に、C# クラスの return メソッドを書き直してみます - 同じエラーで: a) デフォルト
public JsonResult GetResult()
{
// execute query for get result
var myBigData = from ......
select new
{
.......
};
// return result
return this.Json(myBigData, JsonRequestBehavior.AllowGet);
}
b) rewriten (まだエラー)
public JsonResult GetResult()
{
// execute query for get result
var myBigData = from ......
select new
{
.......
};
// return result
var jsonResult = Json(myBigData, JsonRequestBehavior.AllowGet);
jsonResult.MaxJsonLength = int.MaxValue;
return jsonResult;
}
間違いをなくすために、より少ない数のデータを試してみました - すべてが正しいです: どれが正しいかをテスト: 6999 アイテムの 1 - 10
よろしく、ピーター
注: 残念ながら、私は多くの議論 (ここ) を行いましたが、うまくいきませんでした。トピックが重複していることをお詫びします。