5

maxJsonLengthそのため、を設定すると、.netサイトに500-内部サーバーエラーページが表示され続けますweb.config

vb.netで.config使用MaxJsonLength = Int32.MaxValueしているにもかかわらず、許可または想定されるデフォルトの制限をはるかに下回っていても、送信しようとしている大きな辞書をJavaScriptSerializer取得しているため、変更しています。InvalidOperationException4GBMaxJsonLength @ Int32.MaxValue4mb

toolkitscriptmanagerそれが何か意味があるなら私は使っています。

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

これは役に立ちませんでした(実際には、上記のコードなしで500エラーが発生します)

<sectionGroup name="system.web.extensions" type="System.Web.Extensions">
    <sectionGroup name="scripting" type="System.Web.Extensions">
        <sectionGroup name="webServices" type="System.Web.Extensions">
            <section name="jsonSerialization" type="System.Web.Extensions" />
        </sectionGroup>
    </sectionGroup>
</sectionGroup>

これは役立つはずだと聞きましたInvalidOperationExceptionが、そうではありませんでした。私はそれを取り出しましたが、それでも500エラーです。

<add key="aspnet:MaxJsonDeserializerMembers" value="2147483647" />

よろしくお願いします!

編集

同じ問題ですが、彼の解決策は私にはうまくいきません。彼が追加した最後のコードでも500エラーが発生します。 .NET4.0にアップグレードする際の<system.web.extensions>構成グループの問題

4

4 に答える 4

6

私にとっての問題は、web.configの先頭にコードを配置することでした。どういうわけか、最後に置くとうまくいきました。

専門家ではないので、なぜそれがうまくいったのかわかりません。

それは私がそれを機能させようとした最後の2つのコードセクションなしで機能しました。

于 2012-11-05T15:03:38.843 に答える
4

Gracchusに同意しました。これをweb.configファイルの最後のブロックの下に置きます

<system.web.extensions>
    <scripting>
        <webServices>
            <jsonSerialization maxJsonLength="2147483647"/>
        </webServices>
    </scripting>
</system.web.extensions>`
于 2013-07-17T06:21:32.997 に答える
1
<system.web.extensions>
    <scripting>
      <webServices>
        <!--<jsonSerialization maxJsonLength="50000000">
        </jsonSerialization>-->
        <jsonSerialization maxJsonLength="500000000">
          <!--50000000-->
        </jsonSerialization>
      </webServices>
    </scripting>
  </system.web.extensions>  

上記の設定は私のために働いた。さらに、Webサイトのターゲットフレームワークを.Net4.0に設定する必要がありました。このWeb構成設定では、ターゲットフレームワークが.Net 2.0に設定されている場合、500エラーが発生していました。

フレームワークを変更するには、IISに移動し、[アプリケーションプール]を選択します。Webサイト名を右クリックして、[詳細設定]を選択します。ここで、ドロップダウンをクリックして.NetFrameworkのバージョンを変更できます。

また、Web設定の下部にこの設定がありました。幸運のためだけに:)

お役に立てれば。

于 2014-06-18T05:26:54.137 に答える
1

上記のどれも私のために働いていなかったので、私はこれを使用しました-

JsonResult result = Json(<your result>, JsonRequestBehavior.AllowGet);
result.MaxJsonLength = int.MaxValue;
return result;
于 2020-07-15T06:49:49.017 に答える