ODataActionParameters的大小有什么限制?

时间:2016-04-14 04:15:43

标签: c# asp.net odata

我正在将一个体积大小的JSON上传到由C#ASP.NET处理的OData v4 Action。在某一点上,我看到,而不是正确解析输入,ODataActionParameters参数只是null,服务器抛出空指针异常。

我正在上传的数据可以分成块,但是这样做是笨拙的,而b)在我这样做时可能会导致一些数据丢失。 (我将事件上传到模拟器;输入通常是可分段的,因为其中有分组,但不保证可分段 - 可能只有一个分组。)

那么ODataActionParameters在什么时候在字节加载下崩溃?我正在做一些非常不科学的事情“把它扔在墙上看看现在测试的是什么”,但如果有人能告诉我限制是什么,那将使我的生活更轻松。 (另外,有没有办法只针对几个端点扩展该限制?它是可配置的吗?)

1 个答案:

答案 0 :(得分:0)

事实证明,限制是在system.web httpRuntime配置中,而不是在ODataActionParameters本身。解决方案是更改web.config以允许更大的maxRequestLength:

<configuration>
  <system.web>
    <httpRuntime targetFramework="4.6" maxRequestLength="204800" />
    ....and other settings...
  </system.web>
</configuration>

默认的maxRequestLength是4MB。我在这里设置为200MB,因为我的应用程序周围的各种OData位设置了200MB的maxReceivedMessageSize。 (特定请求的真正限制是该请求和httpRuntime配置的OData配置的 lower 。)