ASP.NET Web API请求未达到控制器操作
本文关键字:未达到 控制器 操作 请求 API NET Web ASP | 更新日期: 2023-09-27 17:58:30
我在使用HttpClient的PostAsJsonAsync
方法将"大"对象发布到web api时遇到问题。这些对象包含一个base64编码的图像文件。
在一段时间后,似乎是客户端的超时设置,异常
'任务已取消。'
由CCD_ 2抛出。超时时间已经设置得很高(10分钟)。这种情况只发生在大于~2MB的文件中。任何小一点的都可以。我知道请求甚至没有到达控制器方法中的第一行代码,因为第一行是日志行,日志是空的。服务器事件查看器中没有异常。
很难确定这个问题,因为当我在本地IIS上部署web api时,控制器工作得很好。但当我在Azure虚拟机上部署它时,它只适用于小文件。web.config文件完全相同。
CCD_ 3已经被设置得足够高。
<httpRuntime targetFramework="4.5.2" maxRequestLength="1048576" />
我没有在Azure虚拟机中托管IIS,而是尝试将API部署为应用程序服务。同样的事情也发生在那里。
您也可以尝试设置此限制:
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="1073741824" />
</requestFiltering>
</security>
</system.webServer>
请注意,与maxRequestLength
参数相反,此值以字节为单位。