我想做一个windows服务定时对数据库进行维护!做了一个测试服务,
public partial class Monitoring : ServiceBase
{
public DateTime temp;
private System.Timers.Timer myTimer = new System.Timers.Timer(); public Monitoring()
{
InitializeComponent();
} protected override void OnStart(string[] args)
{
// TODO: 在此处添加代码以启动服务。
myTimer.Elapsed += new System.Timers.ElapsedEventHandler(TimerEventProcessor);
myTimer.Interval = 5000;
myTimer.Enabled = true;
myTimer.AutoReset = false;
myTimer.Start();
} protected override void OnStop()
{
} private static void TimerEventProcessor(Object myObject, ElapsedEventArgs myEventArgs)
{
StreamWriter writer = File.AppendText("d://file1.xml");
writer.Write("<time>");
writer.WriteLine("<Date> " + (DateTime.Now.ToString("dd-MM-yy")) + "</Date>");
writer.WriteLine("<started> " + (DateTime.Now.ToString("t")) + "</started>");
writer.Close();
}
}启动服务后都不执行!请教高手问题出在哪里!或者有更好的方法!
public partial class Monitoring : ServiceBase
{
public DateTime temp;
private System.Timers.Timer myTimer = new System.Timers.Timer(); public Monitoring()
{
InitializeComponent();
} protected override void OnStart(string[] args)
{
// TODO: 在此处添加代码以启动服务。
myTimer.Elapsed += new System.Timers.ElapsedEventHandler(TimerEventProcessor);
myTimer.Interval = 5000;
myTimer.Enabled = true;
myTimer.AutoReset = false;
myTimer.Start();
} protected override void OnStop()
{
} private static void TimerEventProcessor(Object myObject, ElapsedEventArgs myEventArgs)
{
StreamWriter writer = File.AppendText("d://file1.xml");
writer.Write("<time>");
writer.WriteLine("<Date> " + (DateTime.Now.ToString("dd-MM-yy")) + "</Date>");
writer.WriteLine("<started> " + (DateTime.Now.ToString("t")) + "</started>");
writer.Close();
}
}启动服务后都不执行!请教高手问题出在哪里!或者有更好的方法!
http://support.microsoft.com/kb/842793/zh-cn
//
另外,Timer,要慎用,特别是在服务里,建议改成线程