Как воспроизвести ошибку тайм-аута с ASP.NET приложение web API и IIS Express

#asp.net-web-api #timeout #iis-express

#asp.net-web-api #тайм-аут #iis-express

Вопрос:

Вся идея состоит в том, чтобы воспроизвести ограничения, которые приложение имеет в рабочей среде в моей среде разработки (время ожидания, размер полезной нагрузки, …)

Я создал новый ASP.NET приложение web API и измените контроллер метода, чтобы он отвечал через 2 минуты ожидания.

 // GET api/values
public IEnumerable<string> Get()
{
    Thread.Sleep(120000);
    return new string[] { "value1", "value2" };
}
  

Затем я изменил файл конфигурации IIS Express $(solutionDir).vsMyWebApiconfigapplicationhost.config , чтобы добавить тайм-аут в 1 минуту:

   <system.webServer>
    <asp>
      <session timeout="00:01:00" />
    </asp>

  <!-- ... -->

  <location path="MyWebApi">
    <system.webServer>
      <asp>
        <session timeout="00:01:00" />
      </asp>
    </system.webServer>
  </location>
  

Безуспешно, я сделал то же самое с основным файлом конфигурации IIS Express %userprofile%DocumentsIISExpressconfigapplicationhost.config : безуспешно.
Итак, я попытался изменить свой web.config файл, добавив тайм-аут в 1 минуту:

   <system.webServer>
      <asp>
          <session timeout="00:01:00" />
      </asp>
  

По-прежнему безуспешно.
Кто-нибудь знает, как я мог воспроизвести ошибку тайм-аута с помощью ASP.NET приложение web API и IIS Express?

Комментарии:

1. Не уверен, что я понимаю это, но если вы хотите ограничить вызов API, используйте токены отмены, выполните поиск токенов отмены, вы можете установить токен на определенное время и выдать ошибку тайм-аута.

2. @Rav спасибо за ваш комментарий. Использование CancellationTokenSource — хорошая идея, но я ищу способ настроить все мое приложение в одном месте.