Здравствуйте. Нужно посылать запросы на Web сервис по временному регламенту.
Код:
private const double PeriodTimer = 10000;
private DateTime _secondLevel40 = DateTime.Now;
private DateTime _minutLevel2 = DateTime.Now;
private readonly Timer _timer;
//запуск таймера
_timer = new Timer(PeriodTimer);
_timer.Elapsed += OnTimedEvent;
private async void OnTimedEvent(object sender, ElapsedEventArgs e)
{
//ВРЕМЕННОЙ УРОВЕНЬ 40сек
if (DateTime.Now.Subtract(_secondLevel40).Seconds >= 40)
{
_secondLevel40= DateTime.Now;
//отправка диагностики
}
//ВРЕМЕННОЙ УРОВЕНЬ 2мин
if (DateTime.Now.Subtract(_minutLevel2).Minutes >= 2)
{
_minutLevel2 = DateTime.Now;
//считываем инфо.
}
if (DateTime.Now.Hour == 10 && DateTime.Now.Minute == 0 && DateTime.Now.Second <= 10)
{
//считываем нормативное расписание.
}
if (DateTime.Now.Hour == 20 && DateTime.Now.Minute == 0 && DateTime.Now.Second <= 10)
{
//считываем нормативное расписание.
}
if (DateTime.Now.Hour == 22 && DateTime.Now.Minute == 0 && DateTime.Now.Second <= 10)
{
//считываем нормативное расписание.
}
}
Т.е. таймер срабатывает раз в 10 сек и проверяет время. Циклические интервалы (раз в 40 сек) думаю нормально отработают со временем. А сработка в конкретное время боюсь может не произойти из за неточного счета самого таймера. Подскажите как лучше сделать?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Доделываю проект одного человекаСтоит чтото по типу модификатора доступа на папках и так-же распространяется на переменные из ядра и запросы...
Открываею соединение через ftp_connect (на выходе ресурс) Логинюсь через ftp_login (на выходе true) Заливаю файл через ftp_put (на выходе false)