#c# #date #datetime #timer
#c# #Дата #дата и время #таймер
Вопрос:
Я здесь немного новичок.У меня есть оконный сервис, в котором у меня есть таймер, который выполняет функцию через 1 минутный интервал..Я хочу выполнить функцию в первый раз перед запуском таймера, а затем после каждого интервала таймера…
вот мой код :
public partial class ASMSFetchService : ServiceBase
{
System.Timers.Timer updateAutoSMSTimer;
public ASMSFetchService()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
updateAutoSMSTimer = new System.Timers.Timer(1 * 60 * 1000);
updateAutoSMSTimer.Elapsed = new System.Timers.ElapsedEventHandler(Slots);
updateAutoSMSTimer.Enabled = true;
updateAutoSMSTimer.AutoReset = true;
updateAutoSMSTimer.Start();
}
private void Slots(object sender, ElapsedEventArgs e)
{method1();}
private void method1()
{ //SomeOpeartion }
}
Функция выполняется по истечении 1 интервала таймера …Я хочу вызвать метод1() перед запуском таймера, а затем после каждого интервала таймера….
Я попытался поместить метод в Start() и в конструктор () .. Но он не работает…Я не уверен .. но возможно ли это???
Любое предложение будет полезно
Ответ №1:
Я хочу вызвать метод1() перед запуском таймера, а затем после каждого интервала таймера
Затем вызовите ее перед запуском таймера
method1();
updateAutoSMSTimer.Start();
Ответ №2:
попробуйте вызвать if перед запуском then :
protected override void OnStart(string[] args)
{
updateAutoSMSTimer = new System.Timers.Timer(1 * 60 * 1000);
updateAutoSMSTimer.Elapsed = new System.Timers.ElapsedEventHandler(Slots);
updateAutoSMSTimer.Enabled = true;
updateAutoSMSTimer.AutoReset = true;
method1();
updateAutoSMSTimer.Start();
}