我写了一个 Windows 服务,我的类库每隔 15 分钟就会执行一次。
当我在我的机器上部署 Windows 服务时它工作正常,计时器运行良好,每 15 分钟它调用我的类库,但是当我部署在我的服务器中时,它只在 onstart 之后工作正常,它不会提高计时器或每 15分钟假设调用我的类库没有发生,请有人指导我应该在这里查看什么以识别问题
这是我的代码
public partial class Service1 : ServiceBase
{
private Timer _timer;
private DateTime _lastRun = DateTime.Now;
public Service1()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
log4net.Config.XmlConfigurator.Configure();
_timer = new Timer(10 * 60 * 1000); // every 10 minutes
_timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
Shell Distribute= new Shell();
Distribute.Distribute();
_timer.start();//this line was missed in my original code
}
protected override void OnStop()
{
this.ExitCode = 0;
base.OnStop();
}
private void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
//if (_lastRun.Date < DateTime.Now.Date)
//{
try
{
_timer.Stop();
Shell Distribute= new Shell();
Distribute.Distribute();
}
catch(exception ex)
{}
finally
{
_timer.Start();
}
//}
}
}
}
我坚信登录问题,但不确定有两个原因,如果我在我的测试服务器中使用相同的帐户启动或重新启动此服务效果很好,但只有计时器不起作用。代码完全相同,所以我不太担心我的代码,因为它使用相同帐户在我的本地机器上工作计时器。提前致谢。