0

私はGoogleMapMarker V3に取り組んでいます。ユーザーは、Map Markerと追加情報を追加でき、この情報はsqlSeverデータベースに保存されます。マップページが最初にロードされたときに、DBに保存されているすべてのマーカーを取得し、それらをマップに表示しました。Ajax呼び出しでは、WCFとJqueryを使用しています。すべてが正常に機能していましたが、ある日エラーが発生しました

「JSONJavaScriptSerializerを使用したシリアル化または逆シリアル化中にエラーが発生しました。文字列の長さがmaxJsonLengthプロパティに設定された値を超えています」。

このために、次のようにmaxJsonLengthのサイズを増やします。

<system.web.extensions>
    <scripting>
      <webServices>
        <jsonSerialization maxJsonLength="5000000"/>
      </webServices>
    </scripting>
  </system.web.extensions>

だから今のところ私のアプリケーションは再び正常に動作しています。私の質問は、このプロジェクトをクライアントに配信する必要があるため、実行時にこのmaxJsonLengthを増やすことができる他の方法があるということです。将来、この同じ問題が発生した場合、この機能は機能しなくなります。また、stackoverflowで他の例を見つけまし た。web.configでmaxJsonLengthに無制限の長さを設定できますか?

maxjsonlength-プロパティ

ありがとう

4

1 に答える 1

0

最大値 2147483644 に設定できます。

おそらく、最大値に達する前にアプリケーションに深刻なパフォーマンスの問題が発生する可能性があります。この制限に達する前に他の問題が発生するため、ある意味では無制限です。

制限を非常に高く設定すると、次のような問題があります。

  • サービス拒否攻撃に対してより脆弱です
  • アプリが遅くなる可能性があり、その理由についての情報が得られない (ペイロード サイズの増加)

私があなただったら、あなたが今持っている価値に固執します。また、値を増やす必要があるというエラーが表示されているという情報を運用ドキュメントに含めます。

于 2011-06-18T12:46:39.057 に答える