这个问题真的很难理解。可用的内容:
- ASP NET Web API 4.8.
- IIS 10.0。
- 复杂类型有3个大字符串字段-base64中的照片(和其他字段,但我认为问题不在于它们)
- POST方法,其中复杂类型的变量标记为
[FromBody]
属性 NRE
,因为方法中的复杂类型参数为null
我通过Postman发送请求,使用我的API的应用程序发送带有json主体的请求。发送的原始数据正确。但是当涉及到调用方法时,我得到的是一个包含null的对象,而不是反序列化的对象。根据我的假设,这是因为我提到的base64字符串太大(发送空字符串而不是真实的base64确实证实了这一点)。但我通过Web.config
将maxAllowedContentLength
参数设置得尽可能大。这没有任何效果。
在这种情况下,最有趣的事情是,本地和测试服务器上相同版本的代码都工作正常。我能错过什么?注:有趣的情况-在您重新启动IIS网站后,在此方法中的第一个查询工作正常,然后抛出NRE
1条答案
按热度按时间n3h0vuf21#
将**
uploadReadAheadSize
参数设置为30 MB后,该方法正常工作。对于类似的复杂和大型对象和查询,值得考虑Web.config中的设置,如1.
maxRequestLength
**1.
maxAllowedContentLength
1.
uploadReadAheadSize
1.
gcAllowVeryLargeObjects enabled="true"