Служба REST возвращает плохой шлюз, когда файл большой и обработка занимает слишком много времени

Я создал REST-сервис, который получает ZIP-файл, обрабатывает и проверяет некоторые вещи и возвращает идентификатор. Это прекрасно работает для небольших ZIP-файлов, но при отправке больших файлов (в настоящее время тестирование занимает 17 Мб), а обработка занимает больше времени, служба возвращает "502 Bad gateway - веб-сервер получил неверный ответ, выступая в качестве шлюза или прокси-сервера ".

Я попытался изменить все переменные, которые я мог найти в веб-конфигурации:

    <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.

0 ответов

Другие вопросы по тегам