大型物业在邮寄时始终为空

时间:2018-02-19 16:24:12

标签: c# json asp.net-web-api asp.net-mvc-5

我将对象发布到webapi方法。对象看起来像这样

public class SendRequest
{
    public string APIKey { get; set; }
    public string Message { get; set; }
}

我有一个例子,我的信息非常大(27mb)。 发布时,它始终为空。

注意 - 我的SendRequest不为null,但我的Message属性是。 在类似文章之后,我将web.config配置为

<httpRuntime 
    targetFramework="4.5.1" 
    maxRequestLength="2147483647" 
    requestValidationMode="4.0" 
    executionTimeout="110" />

<security>
  <requestFiltering>
    <requestLimits maxAllowedContentLength="2147483648" />
  </requestFiltering>
</security>

但我还没有赢。

疯狂的是,它只是单个属性null(APIKey正确传递)所以它不能阻止IIS吗?

我只是没有反序列化吗?

2 个答案:

答案 0 :(得分:0)

可能是一个愚蠢的问题 - 但您是否使用multipart / form-data内容类型标题发送/发布您的内容?

我注意到当我上传MVC文件时,即使是小文件也无法上传,因为客户需要将表单帖子标记为多部分表单。

答案 1 :(得分:0)

我发现了这个:

            <webServices>
                <jsonSerialization maxJsonLength="50000000"/>
            </webServices>

下面

Can I set an unlimited length for maxJsonLength in web.config?

如果您将此作为application / json编码/内容类型发送 - 那么可以想象您的web.config需要增加其maxJsonLength以容纳您的巨大json文件。 在这种情况下,它可能与请求大小无关,而是与最大json长度有关。