Windows服务可变生命周期

我想了解Windows服务上的可变生命周期。

我有一个SQL表,临时表存储我的应用程序的INFLOW和OUTFLOW记录。

我声明了两个全局变量,如下面的变量,我从临时表中分配行ID。 int iTempKeyInflow = 0; int iTempKeyOutflow = 0;

在经过的时间,我会丢失服务在上一次运行中处理的值。

基本上,如果计时器在完成一个循环的执行之前到期,那么服务循环是否仍然在后台运行。 那么我可以在一秒钟内从表中处理100条记录吗?

Windows服务不会引入任何其他程序的生命周期复杂性。 唯一的区别是它在后台安静地运行。

实现Windows服务的.NET应用程序inheritanceServiceBase类并重写OnStart方法。 这就是API的范围。 OnStart方法负责其他所有方法 – 如果它只是退出,那么服务也会退出。 如果它生成一个新的后台线程或任务来执行其工作,那么该线程将继续存在。

当该方法退出时,OnStart中定义的变量将超出范围。 在类范围中定义的,或在从OnStart调用的类的范围中定义的,将与该类实例的生命周期相关联。

如果不确切知道您在哪里定义变量,我们就无法告诉您它们的生命周期,但作为Windows服务运行的可能性并不是决定因素。