Необходимо решение этой проблемы.
Вообщем имеется windows service и он должен переодически(скажем каждые 10 сек) вызывать определенуую функцию (например записать в лог сообщение) . Как это сделать?
Если кому понадобиться вот решение:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.ServiceProcess;
using System.Text;
using System.Threading;
using System.Windows.Forms;
namespace WindowsService1
{
public partial class Service1 : ServiceBase
{
System.Windows.Forms.Timer timer1;
Form form1;
Thread messageThread;
public Service1()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
messageThread = new Thread(new ThreadStart(ThreadProc));
messageThread.Start();
messageThread.IsBackground = true;
}
void ThreadProc()
{
form1 = new Form();
timer1 = new System.Windows.Forms.Timer();
timer1.Tick += new EventHandler(timer_Tick);
timer1.Interval = 10000; //
задаем нужный нам интервал в мс
timer1.Start();
form1.Show();
Application.Run(form1);
}
void timer_Tick(object sender, EventArgs e)
{
//Эта функция будет вызываться переодически через заданное количество мс указанных в timer1.Interval
//
Здесь и реализуем нужную нам функциональность
}
}
}