Настройка requestTimeout в web.config веб-приложения ASP.NET Core Azure с помощью параметров приложения - PullRequest
0 голосов
/ 04 апреля 2019

У меня есть web.config, который выглядит так, и добавляется в качестве ссылки на ряд приложений в моем решении:

<configuration>
  <!-- For more info to customize the asp.net core module see https://go.microsoft.com/fwlink/?linkid=838655 -->
  <system.webServer>
    <!-- As connection proxy request contains double escape sequence, we need to enable it. background Azure ARM Apis are enabled it.  -->
      <security>
      <requestFiltering allowDoubleEscaping="true" />
    </security>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
    </handlers>
    <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile="\\?\%home%\LogFiles\stdout"/>
  </system.webServer>
</configuration>

Одна из служб потенциально может выполнять длинные одиночные запросы,и поэтому я хочу увеличить время ожидания запроса IIS для этой службы, что может быть достигнуто путем добавления в конфигурацию aspNetCore, например, так:

<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile="\\?\%home%\LogFiles\stdout" requestTimeout="00:10:00"/>

Однако, учитывая, что этот файл web.config используется совместно, и яя не хочу изменять поведение других моих приложений, я хотел бы настроить это через настройку приложения из моих шаблонов рук.

Когда я пытаюсь выполнить что-то подобное, я получаю сообщение об ошибке %REQUEST_TIMEOUT%недопустимое время, и при развертывании не удается запустить веб-приложение.

Как включить параметры приложения для вставки в поле времени ожидания запроса?

Ответы [ 2 ]

0 голосов
/ 05 апреля 2019

Если вы используете DevOps Azure, некоторые параметры во время развертывания:

  1. «Подстановка переменных XML» может быть включена во время развертывания, если вы используете задачу развертывания службы приложений Azure.

  2. Добавление задачи powershell для изменения времени ожидания запроса со значением из конвейерной переменной.

Примечание. Если для свойства requestTimeout установлено значение 10 минут в сети.config, запрос продолжит выполняться до завершения даже через 230 секунд.Но клиент будет прерван службой приложения через 230 секунд и получит ошибку.

0 голосов
/ 04 апреля 2019

Служба приложений Azure не позволяет увеличивать requestTimeout , ограничение составляет 230 секунд - см. Почему мой запрос истекает через 230 секунд? .

Iрекомендовал бы взглянуть на Polling ( link2 ) - это стандартный REST-шаблон для обработки долго выполняющихся операций.

Другие ресурсы:

...