用C#写的Windows服务,如何让它在指定的时间执行操作。

解决方案 »

  1.   

    呵呵。System.Timer对象不错……:)
    也可以使用一个计划任务。
      

  2.   

    我用了Timer控件,但是运行时没有执行
      

  3.   

    我用了Timer组件,但是不起作用
      

  4.   

    不可能,如果周期运行可以采用Timer类实现的。
    如果是固定某个时间点执行,可以读取系统时间实现。
    还是找一下程序的问题吧,如果可以把代码贴上来看看
      

  5.   

     Timer
      

  6.   

    我也是,我在服务的那个类(Service1.cs)中加了一个Timer,服务可以正确
    的安装,但是启动服务后除了执行了onstart中的语句外,Timer_click中的语句完全没有执行,搞不清楚为什么。代码很简单,如下:Service1.cs内容
    public partial class Service1: ServiceBase
        {
            public Daniel001()
            {
                InitializeComponent();
            }        protected override void OnStart(string[] args)
            {
               this.timer1.Start();
               string strPath = @"E:\Daniel\DellASN2011\Daniel001\bin\Debug\MyFile.txt";
               File.AppendAllText(strPath, "OnStart begin:Now Start Time is " + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "\r\n");           
                
            }        protected override void OnStop()
            {
            }        private void timer1_Tick(object sender, EventArgs e)
            {
                string strPath = @"E:\Daniel\DellASN2011\Daniel001\bin\Debug\MyFile.txt";
                File.AppendAllText(strPath, "Timer begin:Now Start Time is " + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "\r\n");  
            }}Program.cs类(这个类的语句也没有执行)
     static class Program
        {
            /// <summary>
            /// 应用程序的主入口点。
            /// </summary>
            static void Main()
            {
                ServiceBase[] ServicesToRun;
                ServicesToRun = new ServiceBase[] 

    new Service1() 
    };
                ServiceBase.Run(ServicesToRun);
            }        
        }
    不知道为什么会这样,请高人指点,谢!
      

  7.   

    ###接上
    还有一点,这段程序(Service1.cs)我可以附加到该服务的进程中调试,在调试的时候Timer事件执行了,但不调试就不执行。很无奈。
      

  8.   

     phy说的对,千万要注意使用的是System.timer控件,对应的事件是elapsed事件