C# windows服务开发

【PS:写的不好,但是是原创,转载请填写出处,谢谢】 

1.新建winform项目,实现需要功能。
2.新建windows服务
3.删除servicws1.cs服务,重新建立一个服务,名字自取
4.右键该文件,可以看到onstart与onstop两个重写的方法
5.复制原有实现的功能到新项目(原有功能保证能运行,已确保服务无需在debug)
6.构造函数中新增两句 设置ServiceName=“XXX服务”(在事件查看器日志中能看到),canstop=true,允许停止服务
7.双击.cs服务,出现设计界面,右键设计界面添加安装程序
8.出现新增的projectInstaller.cs文件
9.双击打开该文件,单击serviceProcessInstaller1,属性,Account设置为localSystem,这样能保证无论是什么用户登录都能执行。
10.单击serviceInstaller1,可以设置ServiceName,这个是显示在本地,我的电脑——》右键——》管理——》服务——》这里的服务名称
11.设置StartType,默认为Manual(手动) ,设置为auto自动的,这个设置看具体情况具体应用。
12.打开我的电脑 C盘——》windows——》Microsoft.NET——》Framework——》v2.0.50727(3.5的.net framework,注册机制还是用2.0的,4.0的,有待您去测试)
13.开始,运行,cmd——》cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 回车
14.右键服务项目,重新生成,找到bin目录,复制到C盘跟目录下,重命名,(路径自己定义)
15.注册服务 开打刚运行的cmd命令 输入 InstallUtil 刚放到C盘的目录,找到我们刚可以执行的exe文件,复制完整目录,运行。
16.注册成功,查看服务是否运行。右键我的电脑,管理,系统工具,事件查看器。应用程序,就能看到我们刚写的服务已经启动了,也可以通过服务

喝应用程序中的服务找到我们的服务是否已经运行。

17.服务调试。(打开源码,调整到dubug模式,停止服务,重新生成,复制bin目录到安装目录,重新启动服务),在VS中点击工具栏工具按钮,附加

到进程,找到该服务的进程,添加进去,设置断点,进入调试。
18.更改配置信息,找到安装目录的XXX.exe.config这个,修改时必须停止服务,停止后,修改完在重新启动服务,

19.卸载服务 先停止服务,在cmd命令中输入:InstallUtil \u 执行exe的完整路径(卸载完,需要重启计算机,才能在进行安装。)

有问题可以给我留言。

原文地址:https://www.cnblogs.com/zhoudemo/p/2320305.html