Как проверить время ожидания запроса в IISExpress - PullRequest
0 голосов
/ 05 февраля 2020

У меня есть asp. net core 3.1 приложение, которое предоставляет простой веб-сервис. Фактически, это приложение API шаблона Visual Studio, включая его WeatherForecastController.

Приложение, которое использует веб-сервис, также разработано мной, и я хотел бы инициировать некоторые тесты поведения по тайм-аутам запросов, просто чтобы узнать, как мой веб-сервис и как мое потребительское приложение обрабатывают таймауты. Поэтому я добавил определенный таймаут запроса в web.config веб-сервиса:

  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
    </handlers>
    <aspNetCore requestTimeout="00:00:20" processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" hostingModel="OutOfProcess">
      <environmentVariables>
        <environmentVariable name="ASPNETCORE_HTTPS_PORT" value="44382" />
        <environmentVariable name="COMPLUS_ForceENC" value="1" />
        <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
      </environmentVariables>
    </aspNetCore>
  </system.webServer>

Я также добавил ThreadSleep 300 секунд в метод моего контроллера:

[HttpGet]
public IEnumerable<WeatherForecast> Get()
{
    try
    {
        Thread.Sleep(300000);
        var rng = new Random();
        return Enumerable.Range(1, 5).Select(index => new WeatherForecast
            {
                Date = DateTime.Now.AddDays(index),
                TemperatureC = rng.Next(-20, 55),
                Summary = Summaries[rng.Next(Summaries.Length)]
            })
            .ToArray();
    }
    catch (Exception e)
    {
        Console.WriteLine(e);
        throw;
    }
}

Très просто, ничего особенного.

Теперь проблема, с которой я сталкиваюсь, заключается в том, что я ожидаю, что возникнет какое-то исключение тайм-аута, как только оно превысит установленный лимит тайм-аута. Но этого не происходит. На самом деле настройки тайм-аута в web.config, похоже, полностью игнорируются. Как я могу проверить настройки тайм-аута в IIS Express? Я что-то пропустил? Или время ожидания игнорируется, только если я подключен к отладчику?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...