.NETMVC(アヤックス)JSON要求が大きすぎる、(JSON要求を直列化復元するにはあまりにも大きかった)デシリアライズすることができない問題を解決

非常に奇妙な感じたときに、この問題が発生しました、私は彼らがJSONリクエストが大きすぎると報告方法のレベルのMB、数百人のデータと数十を感じませんでした。しかし、いずれにしても、我々は解決しようとする会いました。
見つかったソリューションのほとんどは、以下のとおりです。

1、maxRequestLengthのhttpRuntime構成のセクションのsystem.web下のWeb.configファイルを変更
<のsystem.web>
<のhttpRuntime ... maxRequestLength = "2147483647"
1
2は、
私のサイトの最大の要求の長オリジナルの設定が2147483647であるため、無効と予想しました。2TBに許容されるこのユニットの構成が、最大要求長キロバイト(KB)(参照)、!より無知な力、最高のMB単位での私の要求、どのくらいの時間だろうか?
その後、クエリへの別の解決策は以下のとおりです。

2、設定を変更するのAppSetting ASPNET:MaxJsonDeserializerMembers
デフォルトの設定で設定項目の公式な説明が1000で、気持ちのポイントを見つけて下さい!次のように設定項目を変更し、実際に取得!

<追加キー=「ASPNET:MaxJsonDeserializerMembers」値=「150000」/>
1。
非常に疑問に思っている理由を二つの場所での許容構成する要求の最大長。
ASPNETについて:MaxJsonDeserializerMembersの説明は、マイクロソフト公式ドキュメントasp.NETのappSettings要素、および公式HttpRuntimeSection.MaxRequestLengthプロパティの説明と同様に、JavaScriptSerializerドキュメントを参照してください。
私の理解では、次のとおりです。

HttpRuntimeSection.MaxRequestLength入力ストリームの様々な形態(ファイルストリーム、JSONなど)の均一な最大値を定義する特性;
ASPNET:JSONはさらに制限したリクエストフォームの属性に基づいて配置MaxJsonDeserializerMembers、小さいですデフォルトの設定は、より高い回答率を確保するために要求データへの簡素化、開発者を支援
(。この属性を設定:ASPNETと公式を MaxJsonDeserializerMembers大きすぎるA番号は、セキュリティリスクをもたらすことができます) 大きすぎるAのセキュリティリスクであることができる数字のセットをしかし、最終的にそれがどのようなセキュリティリスクを指定していません。
----------------
免責事項:この記事はCC 4.0 BY-SAの著作権契約書に従って、CSDNブロガー「iTheoChanの元記事である、元のソースのリンクと、この文を添付してください、再現。 。
オリジナルリンクします。https://blog.csdn.net/iTheoChan/article/details/103068111

 

注:背景にプロ試験パスJSONオブジェクトの前景は、数2Mの最大限界であります

値でさえ10倍の増加をするだけでなく、2Mを制限:<値=「10000000」/ =「MaxJsonDeserializerMembers ASPNET」キーを追加>

<system.web.extensions>
<スクリプト>
<Webサービス>
<jsonSerialization maxJsonLength = "2147483644" />
</ Webサービス>
</スクリプト>
</system.web.extensions>

おすすめ

転載: www.cnblogs.com/liuslayer/p/12483776.html