Windows服务创建及安装

Windows服务创建及安装

Windows服务样例下面是一个测试案例,服务名为Service1 黑色部分为自动生成,红色部分为我加进去的代码,绿色为我加入的注释,此案例没有其他意义,只是将记录插入到数据库中。using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Diagnostics;using System.ServiceProcess;using System.Configuration.Install;using SysData.Db;

namespace serverTest{ public class Service1 : System.ServiceProcess.ServiceBase { private System.Timers.Timer timer1; ///

/// 必需的设计器变量。 /// private System.ComponentModel.Container components = null;

public Service1() { // 该调用是 Windows.Forms 组件设计器所必需的。 InitializeComponent();

// TODO: 在 InitComponent 调用后添加任何初始化 }

// 进程的主入口点 static void Main() { System.ServiceProcess.ServiceBase[] ServicesToRun; // 同一进程中可以运行多个用户服务。若要将 //另一个服务添加到此进程,请更改下行 // 以创建另一个服务对象。例如, // // ServicesToRun = New System.ServiceProcess.ServiceBase[] {new Service1(), new MySecondUserService()}; // ServicesToRun = new System.ServiceProcess.ServiceBase[] { new Service1() };

System.ServiceProcess.ServiceBase.Run(ServicesToRun); }

///

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

}

///

/// 清理所有正在使用的资源。 /// protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); }

///

/// 设置具体的操作,以便服务可以执行它的工作。 /// protected override void OnStart(string[] args) { // TODO: 在此处添加代码以启动服务。 this.timer1.Enabled = true; this.LogMessage("Service Started"); } /// /// 停止此服务。 /// protected override void OnStop() { // TODO: 在此处添加代码以执行停止服务所需的关闭操作。 this.timer1.Enabled = false; this.LogMessage("Service Stopped"); }

private void LogMessage(string xMsg) { try { //这里向数据库中插入一条信息为 xMsg的记录,下边是我调用事先写好的Db类添加记录的方法,您也可以使用其他办法来写入数据库。 //Db.QuerySQL("Insert into SysMsg (SysMsg) values ('"+xMsg+"')"); } catch { //不做任何操作 } }

private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { LogMessage("检查服务运行!"); } }}

相关文章

Android9怎么截图,华为mate9怎么截图/截屏 华为mate9多种截屏方法图文教程

365betmobileapp 11-18

看守所生活全揭秘:嫌疑人家属最关心的10个问题解答

365beat网址 08-29

你要知道的菲律宾本土知名公司~

365bet不能提现 09-21

全世界有多少辆汽车

365betmobileapp 10-07