C# 创建windows服务以按时执行代码

C# 创建windows服务以按时执行代码,c#,asp.net,web-services,windows-services,C#,Asp.net,Web Services,Windows Services,我需要一个问题的解决方案。我必须在每天凌晨12点的时候自动运行一些C代码来更改数据库。我听说要做到这一点的方法是使用windows服务,但我真的不知道从哪里开始。 我使用IIS运行Windows Server 2008 R2,数据库托管在SQL Server Express上。 无论是否使用windows服务,我都可以做些什么来解决我的问题?谢谢 我使用计时器完成了这项工作,然后您可以在web服务或其他任何程序中运行它 您可以使用Windows任务计划程序。web服务听起来不必要。web服务与

我需要一个问题的解决方案。我必须在每天凌晨12点的时候自动运行一些C代码来更改数据库。我听说要做到这一点的方法是使用windows服务,但我真的不知道从哪里开始。 我使用IIS运行Windows Server 2008 R2,数据库托管在SQL Server Express上。
无论是否使用windows服务,我都可以做些什么来解决我的问题?谢谢

我使用计时器完成了这项工作,然后您可以在web服务或其他任何程序中运行它


您可以使用Windows任务计划程序。web服务听起来不必要。web服务与计划的代码执行无关。正因为如此,我才这么说:用C#编写一个简单的控制台应用程序,以进行所需的更改。使用任务调度器进行调度。它只是一个内置的Windows工具,可以按照您选择的调度执行程序。看见它相当容易使用,我认为您不需要在使用它时寻求我们的帮助(除了可能需要将您的web服务转换为控制台应用程序)。
      private void InitTimer(){
       System.Timers.Timer timer = new System.Timers.Timer();
       timer.Interval = CalculateInterval();
       timer.Elapsed += new ElapsedEventHandler(onElapsed);

            timer.Start();
      }

    private double CalculateInterval()
       {
         TimeSpan sleeptime = default(TimeSpan);           
         sleeptime = TimeSpan.FromMinutes(yourInterval);
         return sleeptime.TotalMilliseconds;
       }
   private void onElapsed(object source, ElapsedEventArgs e)
    {
       //do something
    }

   }