Запросить объект слишком большой для самостоятельного хостинга ASP.Net Web API

У меня есть большой фрагмент json, который мне нужно отправить в сам хостинг ASP.Net Web API.

Я получаю сообщение Код статуса: 413 Request Entity Too Large.

Попробовал поместить следующее в app.config проекта webapi service.

<system.web>
    <compilation debug="true" targetFramework="4.0" />
    <customErrors mode="Off"/>
    <httpRuntime
        maxRequestLength="2147483647"
        executionTimeout="300" />
</system.web>

Это не помогло.

Я думаю о следующих двух вариантах.

  • Декомпретируйте данные в javascript, используя библиотеку сжатия LZW и декодируйте ее на стороне webapi после получения.
  • Найти способ, позволяющий инфраструктуре webapi разрешить большую часть данных

Я предпочитаю второй вариант, но пока не нашел, как это сделать.

Любые указатели?

Ответ 1

Я получал ту же проблему и смог внести изменения в код.

var config = new HttpSelfHostConfiguration(host);
config.MaxReceivedMessageSize = 2147483647; // use config for this value
/*
other setup for the config
*/
using (var server = new HttpSelfHostServer(config))
{
    server.OpenAsync().Wait();
    Console.WriteLine("Insight.Web");
    Console.ReadLine();
}