0

jsonビューにグリッドを設定するを返すコントローラーがあります。フィルターによっては、ユーザーは 1 回の呼び出しで大量のデータを取得できるため、MaxJsonLength をmaxに設定します。

var jsonResult = Json(result, JsonRequestBehavior.AllowGet);
jsonResult.MaxJsonLength = int.MaxValue;

私の質問は、常にMaxJsonLength 最大値に設定しても安全ですか? その欠点は何ですか?(もしあれば)

この関連投稿を見つけましたが、私の質問には答えませんでした。

MaxJSONlength は何に適していますか?

ここであなたの専門知識が必要です。前もって感謝します!

4

1 に答える 1

2

MaxValue呼び出しごとに設定するのは良い考えではないと思います。アプリケーションが壊れるという意味ではありませんが、アプリケーションが壊れているように見える場合があります。
私はかつて同じ問題を抱えていました.状況によっては、ユーザーがより大きなデータセットを要求した可能性があります. LANではなくインターネット接続を介して、10〜50メガバイトのように。不可能なことはありません。そのようなデータ セットを送信できます。しかし、あなたのアプリケーションは非常に遅くなります。ブラウザはデータを待ちます。ユーザーはページが使用可能になるまで長い間待ちます。その結果、ユーザーはどこでもクリックしたり、アプリケーションのバグを罵倒したり報告したりするなど、ばかげたことをすることになります。それは本当にバグですか?あなたの要件にもよりますが、私はそう言います。

あなたができること、すべきことは、ページネーションを提供することです。小さなデータ セットをユーザーに送信してすぐに表示し、ユーザーがそれらを操作できるようにしてから、必要に応じて追加のデータを送信します。または、常に必要な場合は、バックグラウンドでパッケージで自動的に送信しますが、小さなセットで送信すると、すぐに表示されます。ユーザーは自分のページをすばやく準備できますが、ほとんどの場合、すべてのデータがまだそこにあるわけではないことに気付きません。必要になるまでに、データは既にダウンロードされています。
今日のAJAXjQueryおよびそのようなもののサポートにより、データセット全体を一度に取得して表示するよりも難しくありません。

于 2013-05-29T07:10:16.453 に答える