我将对象发布到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吗?
我只是没有反序列化吗?
答案 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长度有关。