Nancy最大JSON长度绑定时异常

Nancy maximum JSON length exception when Binding

我有一个简单的 Nancy 自托管 C# 项目,它像这样反序列化 NancyModule 中的数据:

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

当 Request.Body.Length 接近 2MB 时,我得到 "Maximum JSON input length has been exceeded."。我想在未来发送几十兆字节的数据,2MB 太低了。我可以取消这个限制吗?

您可以覆盖 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)