HttpClient.PostAsJsonAsyncを使用して大きなメッセージjson(画像付き)を片面から送信し、Microsoft.AspNet.Mvc version = "5.2.3"を使用してControllerでデータを取得しようとしました。web.config maxJsonLength issue
小さなメッセージを送信すると、すべてがokeyになります。
移動コードの詳細:
private async Task<HttpResponseMessage> Method<TRequest>(string url, TRequest request,
IEnumerable<KeyValuePair<string, string>> headers)
{
using (var client = new HttpClient(_httpClientHandlerFactory.CreateHandler()))
{
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.CacheControl = new CacheControlHeaderValue { NoCache = true };
AddHeadersToClient(client, headers);
var response = await client.PostAsJsonAsync(url, request);
...
と反対側に:
public class MyController: Controller
{
[HttpPost]
public ActionResult EmailBody(string siteShortName, string templateName, RequestAcceptType acceptType, [DynamicJson] dynamic model)
{
//Some logic
return View(viewPath, model);
}
...
そして、私はJSON JavaScriptSerializerを使用して直列化または直列化復元時に
エラーを取得するメッセージを送信します。文字列の長さがmaxJsonLengthプロパティで設定された値を超えています。 web.configファイルsection
に追加
- は、コントローラのメソッド
- でthis codeを試してみてくださいGlobal.asaxの
で something like thisを追加しよう:私は別のapprochesの問題を解決しようとする記事 Can I set an unlimited length for maxJsonLength in web.config?よる
すべてのケースで私はame issue。