JSON JavaScriptSerializerを使用したシリアライズまたはデシリアライズ中のエラー

私は、テキストフィールド(AutoCompleteExtender)でオートコンプリートのためにMicrosoft ASP.Net AJAXフレームワークを使用します。

私はエラーが発生しています:

JSONを使用したシリアライズまたはデシリアライズ中のエラー   JavaScriptSerializer。文字列の長さが設定された値を超えています   maxJsonLengthプロパティに設定します。

このエラーに関するいくつかの奇妙なこと:

  • ソリューション内のすべてのWebサービスが何も返さなくてもエラーがスローされます(空の配列を返すように変更しました)。
  • web.configでは、jsonSerialization maxJsonLengthが最大値2147483644に設定されており、このページのWebサービスはいくつかの結果を返すことになっています。
  • エラーの原因はjavascript関数にありますが、関数は決して実行されないので、Webサービスは実際には呼び出されません。
  • すべてのAutoCompleteExtenderとすべてのWebサービスへの呼び出しをページから削除すると、aspx内の「end if」にエラーが表示されます。私はaspxのすべての "If"を削除すると、なぜ私に言わずにクラッシュします。楽しい!

<script type="text/javascript">
    var tbEntrIdFonctionItemSelected = function(sender, e) {
       $get('<%=Me.FormViewContact.FindControl("hdn_AgenceIdFonctionSearch").ClientID%>').value = e.get_value();//source of the error
    }
</script>

問題の原因は何だと思いますか?

ありがとう

1
私はこの記事があなたにいくつかの提案を与えることができると思う。 codeproject.com/Articles/272335/…
追加された 著者 user1196174,

1 答え

そうです、少し追跡した後、私はTelerik Comboboxがエラーの原因であることに気付きました。そして、明らかに、JSONを使用してエラーが発生したため、わずかな140,000アイテムが回収されました。大したことはありません、そうですか?ハム。

1
追加された
それでどうやって修正しましたか?
追加された 著者 Tim P.,
まあ、実際にTelerik Comboboxは140,000アイテムを回収するとは考えていませんでした。私はそれを修正した(それはいくつかのドーズ項目を返した)、そしてそれは働いた。同じ問題が発生した場合は、ページ上のすべてのサードパーティコンポーネントを無効にするか、ドロップダウンの長さなどを確認してください。あなたのページの何かがJSONを使用してあまりにも多くのアイテムを取り戻しています。それが何であるかを調べる。
追加された 著者 thomasb,
JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript