zoukankan      html  css  js  c++  java
  • 在Window服务中应用Timer

    在Windwo服务中应用Timer记的要把System.Windows.Forms.Timer timer1改成System.Timers.Timer timer1。事件使用timer1_Elapsed,而不是time1_Tick

      #region 组件设计器生成的代码

            /// <summary>
            /// 设计器支持所需的方法 - 不要
            /// 使用代码编辑器修改此方法的内容。
            /// </summary>
            private void InitializeComponent()
            {
                this.timer1 = new System.Timers.Timer();
                ((System.ComponentModel.ISupportInitialize)(this.timer1)).BeginInit();
                //
                // timer1
                //
                this.timer1.Enabled = true;
                this.timer1.Interval = 1000;
                this.timer1.Elapsed += new System.Timers.ElapsedEventHandler(this.timer1_Elapsed);
                //
                // myService
                //
                this.ServiceName = "myService";
                ((System.ComponentModel.ISupportInitialize)(this.timer1)).EndInit();

            }

            #endregion

            //private System.Windows.Forms.Timer timer1;
            private System.Timers.Timer timer1;
        }

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Diagnostics;
    using System.Linq;
    using System.ServiceProcess;
    using System.Text;
    using System.Data.SqlClient;

    namespace myService
    {
        public partial class myService : ServiceBase
        {
            public myService()
            {
                InitializeComponent();
               
            }

            protected override void OnStart(string[] args)
            {
                timer1.Enabled = true;
                timer1.Start();
            }

            protected override void OnPause()
            {
                timer1.Stop();
            }

            protected override void OnContinue()
            {
                timer1.Start();
            }

            protected override void OnStop()
            {
                timer1.Stop();
            }

            protected void exe()
            {
                SqlConnection con = new SqlConnection("server=PC-201104141904\\SQL2005;database=myDataBase;user id=sa;password=sasasa");
                string sql = "insert into tb_User(UserName,Password) values('name','password')";
                SqlCommand cmd = new SqlCommand(sql, con);
                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();
            }

            private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
            {
                exe();
            }
        }
    }

  • 相关阅读:
    死锁程序示例
    用Intellij打可执行jar包
    Semaphore tryAcquire release 正确的使用方法
    计算对象占用空间工具类
    mysql高效分页方案及原理
    乐视秒杀:每秒十万笔交易的数据架构解读
    mysql 联合索引(转)
    mysql中in和exists二者的区别和性能影响
    怎样避免 i f 判断过多,全复杂度较高,代码不美观的问题?
    Java中Enum类型的序列化(转)
  • 原文地址:https://www.cnblogs.com/zhuawang/p/2073207.html
Copyright © 2011-2022 走看看