这篇文章主要讲解了“怎么用C#实现WINDOWS服务程序”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用C#实现WINDOWS服务程序”吧!
在做C# WINDOWS服务之前先熟悉一下C# WINDOWS服务程序在C#中的写法。
在VS.NET2003中新建一个WINDOWS服务程序的项目WinSrv_A。
更改SERVICE1.CS属性SERVICENAME为你所要建立的服务名称,在服务管理器->名称中你可以看到你的服务名
按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(); } } /// /// 停止此服务。 /// 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(); } }
回到设计窗口点右键选择添加安装程序生成serviceInstaller1和serviceProcessInstaller1两个组件
把serviceInstaller1的属性ServiceName改写为你的服务程序名,并把启动模式设置为AUTOMATIC
把serviceProcessInstaller1的属性account改写为LocalSystem
编译链接生成服务程序。
用.net framework工具INSTALLUTIL安装服务程序即可。
感谢各位的阅读,以上就是“怎么用C#实现WINDOWS服务程序”的内容了,经过本文的学习后,相信大家对怎么用C#实现WINDOWS服务程序这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!