如何在特定时间启动Windows服务

时间:2011-05-06 09:37:44

标签: c# windows-services

我想在每个星期天1.00 A.M。

开始我的Windows服务

任何人都可以帮助我

4 个答案:

答案 0 :(得分:4)

如果它必须在每个星期天凌晨1点运行,那么你可能需要一个由任务调度员在星期日凌晨1点运行的简单程序。

如果你使用一个每小时发射一次的计时器并检查它的日期和时间,那会更好。如果它是星期日和凌晨1点,您可以禁用计时器并继续您要在服务中完成的工作。工作完成后,您应该重新启用计时器。

答案 1 :(得分:2)

一种方法是在批处理文件中使用SC命令,该文件可以安排从Windows标准调度程序运行。

有关详细信息,请参阅

SC /?

特别是启动和停止参数。

答案 2 :(得分:0)

由于逻辑应该在特定时间每周进行一次,因此请使用Windows任务调度程序。

如果您不知道如何执行此操作,请创建一个 sample.vbs 文件,该文件调用您执行逻辑的asp.net页面/ Web服务。然后在Windows任务计划程序中创建一个计划以触发sample.vbs文件。

请参阅创建.vbs文件的步骤,该文件调用您的asp.net页面/网络服务

1.打开记事本并将以下代码复制并保存

   'Declare variables
      Dim objRequest
      Dim URL

    Set objRequest = CreateObject("Microsoft.XMLHTTP")

   'Put together the URL link appending the Variables.
      URL = "http://computerName/VirtualDirectoryName/Logic.aspx"

  'Open the HTTP request and pass the URL to the objRequest object
      objRequest.open "POST", URL , false

  'Send the HTML Request
      objRequest.Send

  'Set the object to nothing
      Set objRequest = Nothing

2.使用您的asp.net页面/网络服务的虚拟目录路径编辑URL =“并保存。

3.将扩展名从“.txt”更改为“.vbs”并保存。

4.在Windows“任务计划程序”中创建一个新计划并指向新创建的sample.vbs文件,该文件将调用您的逻辑所在的页面(http://computerName/VirtualDirectoryName/Logic.aspx)并编辑设置在特定时间每周运行一次。

答案 3 :(得分:0)

我这样做是这样的:

  1. 首先在Windows Server上安装Windows服务。
  2. 其次,您制作批处理文件。您只需打开记事本,在下面写下行并将其保存为.bat。

      

    net start myService

  3. 然后使用Windows Server中提供的任务计划程序。

  4. 创建任务很简单,只需添加一个触发事件(每个星期日)和一个动作(启动你刚刚创建的批处理文件)。

    我不是说这是最好的方式,但这是一种可行的方式。