Служба C# рассчитана на получение данных
Мне нужно создать службу для установки на локальном ПК, которая будет периодически просматривать путь к файлу на моем сервере и копировать и вставлять его содержимое в место назначения на локальном ПК. Я хочу, чтобы он работал каждые шесть или двенадцать часов или около того. Мне также нужно запустить команду копирования с повышенными учетными данными. Мы не можем использовать запланированные задачи, потому что наша групповая политика отключает их из-за вируса. Ниже то, что у меня есть, это не так много.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceProcess;
using System.IO;
using System.Timers;
namespace PHSReportUpdater
{
public class Timer1
{
private static System.Timers.Timer aTimer;
public static void Main()
{
// Create a timer with an interval
aTimer = new System.Timers.Timer(600000);
// Hook up the Elapsed event for the timer
aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
// Set the Interval
aTimer.Interval = 21600000;
aTimer.Enabled = true;
}
private static void OnTimedEvent(object source, ElapsedEventArgs e)
{
string reportSource;
string reportDest;
reportSource= @"V:\PrivateFolders\McKesson Surgery & Anesthesia\Crystal Reports\ProMedica Custom Reports\PHS PC\*.rpt";
reportDest= @"C:\Program Files\McKesson\PHS\VER15.0\Reports";
File.Copy(reportSource, reportDest);
}
}
}
1 ответ
"Отключает тех, кто из-за вируса?" - Это очень подозрительно. Похоже, проблема в другом приложении / расписании задач на компьютере, а не в самом планировщике задач.
Планировщик задач - это то, что нужно, нет причин не использовать его для периодических расписаний (если оно запускает ваше консольное приложение).
Если вам нужен сервис, который делает это, то не полагайтесь на таймер, используйте Quartz.NET, поскольку он имеет очень богатую поддержку для планирования задач / заданий и т. Д. И был создан специально для этой цели.
В этом конкретном случае SimpleTrigger
экземпляр будет делать, просто дайте ему repeatInterval
что вы хотите, чтобы ваша задача выполнялась.
Если вам нужно поддержать понятие "каждую пятницу в полдень" (которое вам нужно из-за таких вещей, как летнее время), тогда вы хотите CronTrigger
,
После настройки триггера достаточно просто настроить расписание и задание для выполнения на основе срабатывания триггера.