Как начать инициализацию сайта с фиктивного запроса - PullRequest
0 голосов
/ 29 июня 2018

У меня есть веб-сайт, работающий в IIS7, который запускается вечно, когда пул приложений перезагружается (он содержит очень большую подключенную службу). Пул приложений перезагружается каждую ночь в полночь, поэтому, когда утром делается первый запрос, он запускается ОЧЕНЬ медленно. Я пытался исправить это с помощью службы Windows, чтобы отправлять пустые запросы POST каждые 2 часа между 12 и 6 часами утра и запускать процесс инициализации, но, похоже, он не работает. Вот код услуги:

protected override void OnStart(string[] args)
{
    timer = new Timer(120 * 60 * 1000);
    timer.Elapsed += new ElapsedEventHandler(Timer_Elapsed);
    timer.Start();
}

private void Timer_Elapsed(object sender, ElapsedEventArgs e)
{
    try
    {
        DateTime startTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0);
        DateTime endTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 6, 0, 0);

        if (DateTime.Now > startTime && DateTime.Now < endTime)
        {
            using (WebClient client = new WebClient())
            {
                client.UseDefaultCredentials = true;
                client.UploadData("https://websitename/KeepAlive.aspx", new byte[0]);
            }
        }
    }
    catch (Exception ex)
    {
        string msg = ex.Message;
    }
}

Если бы кто-нибудь мог сообщить мне о том, как запустить процесс инициализации с помощью службы, это было бы очень признательно!

...