我创建了一个 REST 服务,它接收一个 ZIP 文件,处理和检查一些东西,然后返回一个 ID。这适用于较小的 ZIP 文件,但是当发送较大的文件(当前使用 17 Mb 测试)并且处理时间较长时,服务返回“502 Bad gateway - Web 服务器在充当网关或代理服务器时收到无效响应”。
我试图更改我可以在网络配置中找到的所有变量:
<binding name="webHttpTransportSecurity" maxReceivedMessageSize="163840000" maxBufferSize="163840000" closeTimeout="04:00:00" openTimeout="04:00:00" receiveTimeout="04:00:00" sendTimeout="04:00:00">
<security mode="Transport">
<transport clientCredentialType="Windows" />
</security>
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
</binding>
<requestFiltering>
<requestLimits maxAllowedContentLength="2147483648" />
<httpRuntime maxRequestLength="2147483647" enable="true" requestLengthDiskThreshold="10240" useFullyQualifiedRedirectUrl="true" executionTimeout="1000" appRequestQueueLimit="4000000" />
<serviceBehaviors>
<behavior>
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
</behavior>
</serviceBehaviors>
任何人都知道如何使用更大的文件进行这项工作?这个限制在哪里,在 IIS 或其他什么地方?
更新:我在服务器上的代码继续在后台运行并接收整个文件,即使服务的调用者得到“坏网关”。所以这是一个“假”502。