在本地运行但不在服务器计算机上运行时调用计时器事件

时间:2015-10-14 05:53:31

标签: c# .net timer

我正在开发一个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”。

堆栈: stack trace

为什么找不到方法?

这可能是.net版本问题吗?

1 个答案:

答案 0 :(得分:0)

所以我的同事发现这是一个.net版本问题。如果您遇到此问题,请尝试使用不同的.net目标版本编译解决方案。