System.Net.WebException: リモート サーバーがエラーを返しました: (413) Request Entity Too Large
場所 System.Net.HttpWebRequest.GetResponse()
場所 apiTester.ApiTestForm.buttonGo_Click(Object sender, EventArgs e) 場所 D:\dev\sample\20171125_jsonペイロードエラー\apiTester\ApiTestForm.cs:行 513
2)解決策:Web.configに追加した内容
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="50000000"/>
</webServices>
</scripting>
</system.web.extensions>
3)jsonで64KBが送信できないって相談が来て調査した。
newtonsoftのライブラリとASP.NET MVCかな?って思って、↓を回答したのですが、現象が解決せず、サーバのconfigを見たら、WCFを使っていた。
>>・Web.Configに以下を追加
>><appSettings>
>> <!-- Jsonデータ送信時のkeyとvalueのペア数制限の最大値-->
>> <add key="aspnet:MaxJsonDeserializerMembers" value="1000000" />
>></appSettings>
WCFでは、大きなメッセージでのサービス攻撃を回避するためにメッセージを65KBに制限しています。また、MTOMを使用しない場合は、byte []をbase64でエンコードされた文字列(サイズが33%増加)=> 48KB * 1,33 = 64KBに送信します。
この問題を解決するには、大きなメッセージを受け入れるようにサービスを再構成する必要があります。この問題は、以前は400 Bad Requestエラーを発生させましたが、新しいバージョンのWCFではこのタイプのエラーの正しいステータスコードである413を使用し始めました。
↓2009に読んだなぁ
0 件のコメント:
コメントを投稿