在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();
}
}
}