c#写windows服务程序

在很多应用中需要做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 MyWindowsService.exe”注册这个服务,使它建立一个合适的注册项。(InstallUtil这个程序在WINDOWS文件夹/Microsoft.NET/Framework/v1.1.4322下面) 15. 右击桌面上“我的电脑”,选择“管理”就可以打计算机管理控制台 16. 在“服务和应用程序”里面的“服务”部分里,你可以发现你的Windows服务已经包含在服务列表当中了 17. 右击你的服务选择启动就可以启动你的服务了

 

 

-----------------------------------------------------------------------------------------------------------

 

 

 

 1.在VS.NET2003中新建一个WINDOWS服务程序的项目WinSrv_A。 2.更改SERVICE1.CS属性SERVICENAME为你所要建立的服务名称,在服务管理器->名称中你可以看到你的服务名 3.按F7进入代码窗口,里面有2个重载函数是你要在其中写代码的一个是 //protected override void OnStart(string[] args) //{...} //这个函数是你启动服务后执行的函数 //protected override void OnStop() //{...}//这个函数是你停止服务后执行的函数 我这里简单的做一个记录启动和终止服务的时间的功能。写如日志文档。 protected override void OnStart(string[] args) { // TODO: 在此处添加代码以启动服务。 String s = System.DateTime.Now.ToString(); if(!File.Exists("c://srvlog.txt")) { StreamWriter sr = File.CreateText("c://bbbirdlog.txt"); sr.WriteLine("-------------------------START SRV---------------------"); sr.WriteLine ("我的新服务在{0}时间开始",s); sr.WriteLine ("我可以写整型 {0} or 浮点型 {1},等等.",1, 4.2); sr.Close(); } else { StreamWriter sr = File.AppendText("c://bbbirdlog.txt"); sr.WriteLine("-------------------------START SRV---------------------"); sr.WriteLine ("我的新服务在{0}时间开始",s); sr.WriteLine ("我可以写整型 {0} or 浮点型 {1},等等.",1, 4.2); sr.Close(); } } /// <summary> /// 停止此服务。 /// </summary> protected override void OnStop() { // TODO: 在此处添加代码以执行停止服务所需的关闭操作。 String s1 = System.DateTime.Now.ToString(); if(!File.Exists("c://srvlog.txt")) { StreamWriter sr = File.CreateText("c://bbbirdlog.txt"); sr.WriteLine("-------------------------STOP SRV---------------------"); sr.WriteLine ("我的新服务在{0}时间停止",s1); sr.Close(); } else { StreamWriter sr = File.AppendText("c://bbbirdlog.txt"); sr.WriteLine("-------------------------STOP SRV---------------------"); sr.WriteLine ("我的新服务在{0}时间停止",s1); sr.Close(); } } 4.回到设计窗口点右键选择添加安装程序生成serviceInstaller1和serviceProcessInstaller1两个组件 把serviceInstaller1的属性ServiceName改写为你的服务程序名,并把启动模式设置为AUTOMATIC 把serviceProcessInstaller1的属性account改写为LocalSystem 5.编译链接生成服务程序。 6.用.net framework工具INSTALLUTIL安装服务程序即可。

 

 

你可能感兴趣的:(c#写windows服务程序)