其实我也是第一次在博客园写博客,看到那些高手说自己要多动手写博客,于是乎自己也尝试尝试。
废话不多说。这几天在研究window service,通过查找各种大神写的博客,我终于成功的自己写出来了。
下面是创建window service的基本思路:
1、打开vs,创建window服务项目。
项目新建完成。
2、双击打开Service1,然后右击“添加安装程序”,程序会添加一个 “ProjectInstaller.cs”,双击打开设计页面,会看到一个 叫“serviceInstaller”和“serviceProcessInstaller1”。
首先选择第一个serviceInstaller右击或者F4选择属性,填入DispalyName属性,这是服务安装到计算机上显示的名称,Description是备注,StartType是服务安 装之后的启动方式,Manual是手动,Automatic是自动,Disabled是禁用,这里选手动。
第二选择serviceProcessInstaller1右击选择属性,选择Account 选择 “LocalSystem” 。
3、打开Service1的后台代码会有两个方法OnStart和OnStop分别是服务开启和关闭的方法。
public static void WriteLog(string str){if (!File.Exists(@"f:\service.txt")) {File.Create(@"f:\service.txt");}using (StreamWriter sw = File.AppendText(@"f:\service.txt")){sw.WriteLine(str);sw.Flush();}}protected override void OnStart(string[] args){string state = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "启动";WriteLog(state); }protected override void OnStop(){string state = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "停止";WriteLog(state); }
这段代码会在服务开启和停止的时候记录在txt文件里面,写完之后重新生成项目。
4、接下来就是安装服务。在桌面新建一个文本文档。
“%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe C:\Users\Topsmoon\Desktop\Test\WindowsServiceTest\WindowsServiceTest\bin\Debug\WindowsServiceTest.exe 这是你生成的exe文件的地址
pause
”
保存之后,重命名为启动服务.bat;
还有就是新建卸载服务.bat
"%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe /u C:\Users\Topsmoon\Desktop\Test\WindowsServiceTest\WindowsServiceTest\bin\Debug\WindowsServiceTest.exe
pause
"
两个新建完成之后,使用管理员的身份运行启动服务的文件,然后服务就会部署到你的机器上面,右键我的电脑->管理->看服务里面吧。
好了,这是我第一次这博客,写得我自己都看不下去,高手勿喷。谢谢