[英]Is there anyway to modify request body before it gets bind to controller action method in asp.net web api 2
[英]ASP.NET Web API request does not reach controller action
我在使用HttpClient的PostAsJsonAsync
方法将“大”对象发布到Web api时遇到麻烦。 这些对象包含一个base64编码的图像文件。
经过一段类似于客户端的超时设置的时间段后,异常
“任务被取消了。”
由HttpClient
抛出。 超时已经设置得很高(10分钟)。 仅当文件大于约2 MB时才会发生这种情况。 任何较小的都可以。 我知道该请求甚至没有在controller方法中命中第一行代码,因为第一行是一个日志记录行,并且日志为空。 服务器事件查看器中没有例外。
很难解决此问题,因为当我在本地IIS上部署Web API时,控制器工作正常。 但是,当我在Azure VM上部署它时,它仅适用于小文件。 web.config文件是相同的。
maxRequestLength
已经设置得足够高。
<httpRuntime targetFramework="4.5.2" maxRequestLength="1048576" />
我只是尝试将API部署为应用程序服务,而不是在Azure VM中托管IIS。 完全相同的事情在那里发生。
您也可以尝试设置此限制:
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="1073741824" />
</requestFiltering>
</security>
</system.webServer>
请注意,与maxRequestLength
参数相反,此值以字节为单位。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.