我正在使用 Breezejs 来处理 Web 应用程序上的实体。
具体来说,我从 Angular HotTowel 模板开始。
我遇到的问题是,我正在发送一个大型 json 对象数组(长度约为 17000),因此在我的 Controller 上,我在接收此信息的参数上获取 null。
当我尝试向包含 5000 个对象的数组发送较少数据时, Controller 参数将使用对象正确设置。
我的 Controller
[BreezeController]
public class SoftProductsController : ApiController
{
private readonly EFContextProvider<Context> contextProvider = new EFContextProvider<Context>();
[HttpGet]
public string Metadata()
{
return this.contextProvider.Metadata();
}
[HttpPost]
public SaveResult SaveChanges(JObject saveBundle)
{
//Here saveBundle is NULL
return this.contextProvider.SaveChanges(saveBundle);
}
}
这可能与使用大型 json 数据时 WebApi 上的某些 json 反序列化有关吗?
我尝试在 web.congif 上设置此选项,但没有成功
<appSettings>
<add key="aspnet:MaxJsonDeserializerMembers" value="20000"/>
</appSettings>
我正在使用 .NET 4.5
有什么想法吗?
最佳答案
我的问题是 ASP.NET 对 requestLenght 的默认限制。 增加 web.config 的限制允许 Breeze 发布大数据。 (默认大小为 4096 KB)
<system.web>
<httpRuntime targetFramework="4.5" maxRequestLength="5120" />
</system.web>
关于c# - 向breececontroller发送大的json数据失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28545562/