如何创建周期未知的Windows服务?

时间:2014-08-21 10:36:46

标签: c# sql-server windows service gps

任务是创建Windows服务,该服务应定期连接到SQL Server数据库(它包含来自数百或数千辆汽车的GPS数据),从表中读取数据,处理数据并将结果写入另一个表。 问题在于,取决于数据库处理时间中的数据量可以从毫秒到几个小时不等。

如果有大量数据,它应该等到之前的处理结束,然后再开始另一次迭代。

如果没有太多数据,它应该累积至少500个GPS记录,处理它并开始新的迭代。 请提供您的示例C#。

P.S。 处理GPS数据意味着生成复杂的汽车事件,例如,定义汽车超速,停止点,进入特定地理区域等等...... 从算法的角度来看,生成其中一些事件可能会占用大量资源。

P.P.S 我已经创建了它,但作为具有无限循环的控制台应用程序,但我是Windows服务的新手,我不知道如何正确实现Windows服务等功能。

1 个答案:

答案 0 :(得分:0)

我会

  • 创建一个监视服务,检查是否进行处理 应用程序每X秒/分钟/小时运行(取决于 您希望多久处理一次数据。)
  • 如果正在运行,请等到下一个预定的活动时间再次检查。
  • 如果它没有运行,则启动处理应用程序。