繁体   English   中英

一段时间后C#计时器停止运行

[英]C# Timer getting stopped after some time

我正在将此代码用于C#服务,“ SomeFuction”应该每6分钟运行一次,但是大约30分钟后它就会停止运行。

我在这里想念的是什么? 我希望它一直运行到我的服务开始运行,请帮助:(

var timer = new System.Threading.Timer((e) =>
        {
            try
            { SomeFunction(arg1, arg2, arg3); }
            catch
            { return;}

        }, null, 0, 360000);

Timer可能被GarbageCollector处置了吗? 似乎您只声明了在本地范围内保存Timer-Reference的变量

为了防止GarbageCollection,请确保将Timer-Reference存储在服务整个生命周期中都存在的对象中。

有关类似问题,请参见此帖子: 为什么System.Threading.Timer会自行停止?

其余的代码是什么样的? Timer对象是否超出范围?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM