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)
我有一个简单的 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)