我正在开发一个Windows服务,它以5秒的间隔将文件导入数据库系统。当我在本地计算机上运行此服务时,一切正常运行,但当我将其复制到服务器上并运行它时,不会调用计时器事件。
代码:
protected override void OnStart(string[] args)
{
timer = new Timer(new TimerCallback(Timer_Tick), null, new TimeSpan(0, 0, 5), new TimeSpan(0, 0, 5));
EventLog.WriteEntry("Timer started.", System.Diagnostics.EventLogEntryType.Information);
}
private void Timer_Tick(object s)
{
EventLog.WriteEntry("Timer ticking.", System.Diagnostics.EventLogEntryType.Information);
}
简单地说,在服务器上运行服务时,会记录“Timer started”,但不会记录“Timer ticking”。
堆栈:
为什么找不到方法?
这可能是.net版本问题吗?
答案 0 :(得分:0)
所以我的同事发现这是一个.net版本问题。如果您遇到此问题,请尝试使用不同的.net目标版本编译解决方案。