阿里云折扣码

轻云博客 > C#技术 > 利用vs.net快速开发windows服务(c#)

利用vs.net快速开发windows服务(c#)

作者:Aisencici / 日期:2014-5-9 9:08:00 / 分类:C#技术 / 浏览:3205

在很多应用中需要做windows服务来操作数据库等操作,比如 
(1)一些非常慢的数据库操作,不想一次性去做,想慢慢的通过服务定时去做,比如定时为数据库备份等 
(2)在.net Remoting中利用windows服务来做Host 

利用vs.net我们可以在几分钟之内建立其windows服务,非常简单 

下面说一下步骤 
1. 新建一个项目 
2. 从一个可用的项目模板列表当中选择Windows服务 
3. 设计器会以设计模式打开 
4. 从工具箱的组件表当中拖动一个Timer对象到这个设计表面上 (注意: 要确保是从组件列表而不是从Windows窗体列表当中使用Timer) 
5. 设置Timer属性,Interval属性200毫秒(1秒进行5次数据库操作) 
6. 然后为这个服务填加功能 
7.双击这个Timer,然后在里面写一些数据库操作的代码,比如 
SqlConnection conn=new SqlConnection("server=127.0.0.1;database=test;uid=sa;pwd=275280"); 
SqlCommand comm=-new SqlCommand("insert into tb1 ('111',11)",conn); 
conn.Open(); 
comm.ExecuteNonQuery(); 
conn.Close(); 
8. 将这个服务程序切换到设计视图 
9. 右击设计视图选择“添加安装程序” 
10. 切换到刚被添加的ProjectInstaller的设计视图 
11. 设置serviceInstaller1组件的属性: 
1) ServiceName = My Sample Service 
2) StartType = Automatic (开机自动运行) 
12. 设置serviceProcessInstaller1组件的属性 Account = LocalSystem 
13. 改变路径到你项目所在的bin/Debug文件夹位置(如果你以Release模式编译则在bin/Release文件夹) 
14. 执行命令“InstallUtil.exe MyWindowsService.exe”注册这个服务,使它建立一个合适的注册项。(InstallUtil这个程序在WINDOWS文件夹 /Microsoft.NET/Framework/v1.1.4322下面) 
15. 右击桌面上“我的电脑”,选择“管理”就可以打计算机管理控制台 
16. 在“服务和应用程序”里面的“服务”部分里,你可以发现你的Windows服务已经包含在服务列表当中了 
17. 右击你的服务选择启动就可以启动你的服务了 
看看数据库是不是一秒多了5个记录啊 

需要注意的是: 
如 果你修改了这个服务,路径没有变化的话是不需要重新注册服务的,如果路径发生了变化,需要先卸载这个服务InstallUtil.exe /u参数,然后再重新安装这个服务,不能直接安装。还有就是windows服务是没有界面的,不要企图用控制的输出方式来输出一些信息,你只能添加一个 EventLog,通过WriteEntry()来写日志。 

1.建立服务:C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/InstallUtil.exe 你的应用程序路径 

例如:C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/InstallUtil.exe e:/vsproject/dbback/bin/debug/dbback.exe 

2.删除服务 sc delete "你的服务名称" 

例如:sc delete "myservervice"

本文标签:windows服务
From:Aisencici
分享到: