2013年4月4日木曜日

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

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

上記エラーが表示されたWebアプリケーションのページがある。

通常の対処方法は、web.configに、jsonのmaxlength設定値を増やすと解消される。

このエラーは、アプリケーションで設定されているmaxJsonLengthプロパティの規定値より長いデータが入力されたためです。(規定値は102400 文字です。)

対策

Web.config例Web.configファイルの例です。















<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.web>
        <compilation debug="true" targetFramework="4.0" />
    </system.web>
   
    <system.web.extensions>
      <scripting>
        <webServices>
          <jsonSerialization maxJsonLength="2147483644" />
        </webServices>
      </scripting>
    </system.web.extensions>
   
</configuration>

http://www.telerik.com/help/aspnet-mvc/telerik-ui-components-grid-troubleshooting.html#MaximumJsonLength

上記でも解消されない場合は、DropDownListなどのデータを表示するコントロールの
表示データ件数が数万件などの場合も同様のエラーが表示される。

TelerikのComboBoxお場合は、EnableLoadonDemand のプロパティーをtrueにして
読み込むデータを少なくする。

0 件のコメント:

コメントを投稿