,求解
我新建了一Windows服目::向文本文件中一分一。
方法1:
用system.Timer此功能,相代如下:
public Service1()
{
InitializeComponent();
System.Timers.Timer timer1 = new System.Timers.Timer(1000);
timer1.Enabled = true;
timer1.AutoReset = true;//是行一次是一直行
timer1.Enabled = true;//
timer1.Elapsed += new System.Timers.ElapsedEventHandler(TimeElapse);
}
public void TimeElapse(object obj, System.Timers.ElapsedEventArgs e)
{
WriteLog();//功能方法
}
方法2:
用循此功能,相代如下:
public Service1()
{
InitializeComponent();
while(true)
{
WriteLog();//功能方法
Thread.Sleep(1000);
}
}
我用方法1能安此服能服行:每分一。
但是按照方法2去做,能安此服,但是不能服,1053....而且也向文本文件中一。
我的是:
1.什方法2出那的?
2.用循可以功能?
[解决办法]
方法2不行,因为Windows服务是这样的,它要求调用构造函数启动它后在一定时间内必须返回。你把死循环写在构造函数中,Windows会认为服务启动有问题,一直无法启动,就强行关闭了。
所以你应该开一个新的线程跑服务,而构造函数将这个线程开出来,就立刻返回。