Visual Studio 2005 创建Windows服务程序(C#)

http://www.cnblogs.com/ruiyi1987/archive/2009/07/30/1535291.html

Visual Studio 2005 创建Windows服务程序(C#) 1、新建项目 打开VS—>文件—>新建—>项目—>Visual C#—>Windows—>Windows服务->起个名儿—>确定 (如图) 2、添加Timer组件 从工具箱—>"组件"下拉列表中拖动一个Timer控件到设计视图上注意:看看这个Timer控件的属性中的命名空间是什么,如果是System.Timers.Timer那就对了;如果是System.Windows.Froms.Timer那就错了(用这种Timer则服务运行时不会执行我们编写的代码)。解决方法:删除这个Timer;在工具箱上的组件列表上右键,单击”选择项”出现”选择工具箱项”对话框,然后在.net Framwork选项卡下找到命名空间为System.Timers的那个Timer控件,钩选确认即可.这时新的Timer控件出现在了工具箱的组件列表中(如图)。现在拖动一个Timer控件到设计表面上。 3、设置Timer属性,主要是设置Interval属性(单位为毫秒),即间隔多少时间执行服务 4、双击Timer进入代码视图,在事件方法里添加我们要执行的代码 private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { //服务运行要执行的代码 } 例如:我要每一分钟在我的数据库test下的testservice表中插入一条记录,则可以将Timer的Interval属性设置为1000,并在Elapsed方法下加入以下代码: SqlConnection conn = new SqlConnection("server=192.168.1.143;database=test;uid=sa;pwd=123"); SqlCommand comm = new SqlCommand("insert into testservice(number) values('china')", conn); conn.Open(); comm.ExecuteNonQuery(); conn.Close(); 另外,可以在OnStart和OnStop方法中加入对Timer的控制 protected override void OnStart(string[] args) { // TODO: 在此处添加代码以启动服务。 this.timer1.Enabled = true } protected override void OnStop() { // TODO: 在此处添加代码以执行停止服务所需的关闭操作。 this.timer1.Enabled = false; } 5、将这个服务程序切换到设计视图,右击设计视图选择“添加安装程序”,VS将自动添加两个控件:serviceProcessInstaller1和serviceInstaller1。接下来设置两个控件的属性,主要设置: 1)serviceInstaller1的ServiceName属性(即你的服务的名称) 2)serviceInstaller1的StartType属性设置为Automatic(自动) 3)serviceProcessInstaller1的Account属性设置为:LocalSystmem 6、编译生成EXE文件(在bin/debug/下) 7、注册我们创建的服务以命令行形式调用 C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727目录下的InstallUtil.exe 来注册我们项目中bin/debug目录下的服务程序注意:调用时注意路径一定要正确,比如:我的调用如下: C:/>C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/InstallUtil.exe C:/FirstWindowsService/FirstWindowsService/bin/Debug/FirstWindowsService.exe 回车 (如图) 8、现在,你可在控制面板-管理工具-服务下看到你的服务了(先刷新一下,即可看到)并且可以看到其执行效果。 注意:如果你修改了这个服务,但路径没有变化的话是不需要重新注册服务的,只需要先暂停服务,重新生成exe,再启动服务;如果路径发生了变化,需要先卸载这个服务(使用InstallUtil.exe /u 命令,注意路径),然后再重新注册这个服务,

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章