我有一个简单的南希自托管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)