Asp.net core 2.2 медленный при первом запросе - PullRequest
4 голосов
/ 29 мая 2019

Первый запрос требует времени для применения метода API сервера, поскольку он предварительно собирает службы в задаче запуска, может кто-нибудь предложить мне уменьшить начальную задержку моего первого запроса после публикации в IIS

 // This method gets called by the runtime. 
            // Use this method to add services to the container.
            public void ConfigureServices(IServiceCollection services)
            {
               services.AddTransient<IContactService, ContactService>();
               services.AddTransient<IPersonService, PersonService>();
               services.AddTransient<IDashboardService, DashboardService>();
               services.AddTransient<IEmployeeService, EmployeeService>();
               services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

                // In production, the React files will be served from this directory
                services.AddSpaStaticFiles(configuration =>
                {
                    configuration.RootPath = "ClientApp/build";
                });
            }

Потребность в внедрении более 100 служб требует времени для сборки.

1 Ответ

0 голосов
/ 11 июня 2019

Это может быть проблема с вашей конфигурацией IIS, поскольку Пул приложений перерабатывается из неактивности.

Если вы установите Стартовый режим ApplicationPool в Расширенные настройки , он должен быть готов к использованию всякий раз, когда вы его вызываете, если только вы не вызываете его так же, как происходит переработка.

Это может быть найдено:

  1. Открыть IIS
  2. Найдите Пулы приложений в корневом каталоге вашего сервера
  3. Щелкните правой кнопкой мыши определенный Пул приложений , который вы хотите изменить
  4. Выберите Расширенные настройки
  5. Изменить Режим запуска на AlwaysRunning

Advanced Settings Start Mode

Что касается последнего вопроса об утилизации, когда он этого захочет (каждые 29 часов), вы можете запланировать, чтобы переработка происходила в установленное время, чтобы она была незаметной. На этом же экране Advanced Settings :

  1. Местоположение Переработка , заголовок
  2. Change Regular Time Interval (minutes) до 0
  3. Разверните Specific Times и щелкните ..., где указано TimeSpan [] Array.
  4. В новом диалоговом окне выберите статическое время вне рабочих часов для обновления.

enter image description here

...