绑定时南希最大 JSON 长度异常



我有一个简单的南希自托管C#项目,该项目在NancyModule中反序列化数据,如下所示:

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

当 Request.Body.Length 接近 2MB 时,我得到"已超过最大 JSON 输入长度"。我想在未来发送数十兆字节的数据,而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)