Как запустить несколько функций на основе определенного времени в Windows Service C #?

#c# #windows-services

#c# #windows-services

Вопрос:

У меня есть проект службы Windows в Visual Studio 2015, в котором у меня есть несколько функций в классе, которые должны выполняться в определенное время (например, первая функция в 11 утра, другая в 11.15 и так далее). Но как только я запускаю службу, выполняется только первая функция, поскольку она соответствует времени, но как я могу выполнить остальные функции? Также есть ли вероятность, что служба может работать в фоновом режиме непрерывно?

Ниже приведен код:

     public static void Process()
    {
        if (DateTime.Now.Hour == 12 amp;amp; DateTime.Now.Minute == 16)
        {
            Function1("Time1");
        }
        else if (DateTime.Now.Hour == 12 amp;amp; DateTime.Now.Minute == 17)
        {
            Function1("Time2");
        }
        else if (DateTime.Now.Hour == 12 amp;amp; DateTime.Now.Minute == 18)
        {
            Function1("Time3");
        }
    }

    private static void Function1(string message)
    {
        string path = Path.GetDirectoryName(Application.ExecutablePath);
        if (!Directory.Exists(path))
        {
            Directory.CreateDirectory(path);
        }
        string file = "TestTimeService.txt";
        if (!File.Exists(file))
        {
            File.Create(file);
        }
        File.AppendAllText(file, Environment.NewLine   "["   DateTime.Now   "]: "   message);
    }
  

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

1. Вероятно, это ваш код. Мы мало чем можем помочь, если вы не покажете, что вы делаете. Кроме того, самый надежный способ запуска запланированных задач — это среда планирования, существует множество

2. «Также есть ли вероятность, что служба может работать в фоновом режиме непрерывно?» В этом суть службы Windows. Итак, если у вас действительно есть проект службы Windows, то он будет выполняться непрерывно после его развертывания, установки и запуска.

3. Я внес изменения и добавил пример контекста в сообщение.