Не могу "разогреть" Entity Framework - PullRequest
0 голосов
/ 10 апреля 2020

Я знаю, что многие из этих вопросов, но ни один из них не мог решить мою проблему.

Я получил REST API. В настоящее время я пытаюсь решить проблему, когда первый запрос к серверу занимает около 10 секунд, а следующий запрос - 3 секунды. После того, как становится тепло, через 20 минут снова становится холодно. Я не могу найти способ решить эту проблему.

Я читал о холодных запросах и т. Д. c, но ни один из них не помог мне. Чтобы решить эту проблему, я сделал это в файле startup.cs

Startup.cs

public void ConfigureServices(IServiceCollection services)
{
    ...
    WakeupDB(services);
}

private void WakeupDB(IServiceCollection services)
{
    Task.Run(async() =>
    {
        var cs = services.BuildServiceProvider().GetService<ICalendarService>();
        var mrs = services.BuildServiceProvider().GetService<IMetadataRepository>();

        while (true)
        {
            _ = cs.GetCalendarAsync(new DateTime(2020, 4, 1), new DateTime(2020, 4, 30));
            _ = mrs.GetEmployeesAsync();
            _ = mrs.GetGroupsAsync();
            await Task.Delay(300000); // 5 Minutes
        }
    });
}

Сначала я попытался без бесконечного l oop, но, как уже упоминалось, запрос снова замедляется после как 20 минут или около того. Поэтому я сделал бесконечное l oop, чтобы «согреться».

Но ни один из них на самом деле не оказал положительного влияния на производительность.

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