我有一个目前正在测试的控制台服务。我打算使用计时器来持续一整天,每隔30秒进行一次间隔检查,但是,它看起来像很多人不喜欢以这种方式使用计时器的服务。使用计时器是明智的吗?或者是他们接近它的更好方法?在Windows服务中使用计时器是否明智?
回答
在服务内部有定时器是很好的。
您应该问自己的问题是您是需要自己的服务,还是只能使用已运行定时器的服务(任务计划程序)。或者,您可能应该对用户操作做出响应。
谢谢,我会在做最后的任何事情之前看看任务调度程序,现在只是测试它的工作原理。 –
我怀疑他们试图让你使用基于线程的方法this way这样做,这可以说是优越的,因为等待方法被设计为响应服务接口而正确唤醒。
如果您需要非常频繁地启动服务方法比计划任务更好。
这似乎不如WaitableTimer ......但我不确定是否有一个.NET包装程序“CreateWaitableTimer”和朋友。 –
我并没有说这样比较好,我说过有些人认为这样比较好 - 有些像OP这样的人反对服务中的定时器。定时器比较熟悉,但AutoResetClass避免使用额外的定时器资源 - 较小的技术优势,难以理解 –
WaitableTimer与.NET定时器类不同。这是一个像自动重置事件一样的等待手柄。只要希望在不考虑任务处理时间的情况下休眠一段固定的时间间隔,并且不以固定频率执行任务,则链接的代码就可以正常工作。 –
- 1. 在Windows服务中使用计时器
- 2. 使用临时表是否明智?
- 3. 在构建服务器上使用虚拟硬盘是否明智?
- 4. 在长时间运行的Windows服务中使用计时器
- 5. Windows服务和计时器
- 6. 是否明智地使用position:absolute;在asp.net?
- 7. 在Android服务中使用计时器
- 8. Windows服务中的计时器
- 9. Windows服务中的计时器 - 不是真的有用吗?
- 10. 是不明智的在同一台生产服务器
- 11. Cloudant服务器和移动设备之间的通信中间服务器是否明智?
- 12. Windows服务计时器多线程
- 13. Windows服务线程内的计时器
- 14. C#Windows服务计时器未触发
- 15. 在BDD测试用例中使用嘲讽是否明智?
- 16. 在asp.net中使用SMTP.SendAsync是明智的
- 17. iOS应用内购买 - 使用超时是否明智?
- 18. 明智的Windows
- 19. 是否有内置服务从Windows 2008服务器获取时间(和时区)?
- 20. 使用AppFabric + Postharp进行服务器端缓存是明智的吗
- 21. 如何使用计时器测试多线程的Windows服务?
- 22. 确定服务器是否在使用udp时正在监听
- 23. 是否可以在Windows服务中使用此代码?
- 24. 如何在Windows中使用计时器
- 25. 服务中的计时器
- 26. Windows服务中的声明
- 27. 在angularjs中使用计时器的投票服务器
- 28. 在sql服务器查询中移位明智的日期时间检查
- 29. 在机器的Web.Config中绑定是否明智?
- 30. 为什么计时器不能在windows服务中工作?
他们不喜欢以这种方式使用它们的原因是什么?你以这种方式运行它的理由是什么? – Noctis
你打算每30秒检查一次?这往往足以干扰节电并导致电池寿命明显缩短。 –
您可能想要考虑如果动作持续30秒以上会发生什么情况......您是否同时多次同时执行同一任务?或等待第一个完成? –