Nancy максимальная исключительная длина JSON при привязке

У меня есть простой проект C# для собственного размещения Nancy, который десериализует данные в NancyModule следующим образом:

Post["/build"] = (something) => { var data = this.Bind<Brick>(); }

Я получаю "Превышена максимальная длина ввода JSON." когда Request.Body.Length близко к 2 МБ. Я хотел бы отправить десятки мегабайт данных в будущем, а 2 МБ слишком мало. Могу ли я снять этот лимит?

2 ответа

Решение

Вы можете переопределить MaxJsonLength и MaxRecursions. По сути, я сделал пользовательский загрузчик примерно так:

public class CustomBootStrapper : DefaultNancyBootstrapper
    {
        protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines)
        {
            Nancy.Json.JsonSettings.MaxJsonLength = int.MaxValue;
            Nancy.Json.JsonSettings.MaxRecursions = 100;
            Nancy.Json.JsonSettings.RetainCasing = true;
            base.ApplicationStartup(container, pipelines);
        }
    }

Для меня Нэнси не работала все вместе даже после применения настроек ниже. Поскольку мои данные были действительно действительно огромны.

  Nancy.Json.JsonSettings.MaxJsonLength = int.MaxValue;

Я закончил с использованием Json.net (добавить через пакет nuGet)

  JsonConvert.SerializeObject(data)
Другие вопросы по тегам