求个网站这么难吗2022年贴吧,品牌建设策略有哪些,网站外链内链怎么做,股票交易网站开发Windows 服务 同时启动多个服务独立观察员 2019.02.26最近需要开发 Windows Service 程序#xff0c;之前没有接触过#xff0c;所以把了解到的一些东西记录下来。Windows 服务程序可以简单理解为需要长时间在后台运行#xff0c; 而又不需要界面显示的程序#xff0c;在计… Windows 服务 同时启动多个服务 独立观察员 2019.02.26最近需要开发 Windows Service 程序之前没有接触过所以把了解到的一些东西记录下来。Windows 服务程序可以简单理解为需要长时间在后台运行 而又不需要界面显示的程序在计算机管理 -- 服务和应用程序 -- 服务中可以看到我们先来新建一个 Windows 服务 项目具体可参考《C# 编写 Windows Servicewindows 服务程序》https://www.cnblogs.com/bluestorm/p/3510398.html一文。逻辑写在继承于 ServiceBase 类的类中该类型的类通过添加 Windows 服务 来生成双击生成的类文件打开的是一个设计页面可点击切换到代码视图代码视图中可以看到是继承于 ServiceBase 类的主要逻辑写在 OnStart 和 OnStop 方法中在 Service1 的设计页面右键 --添加安装程序生成 ProjectInstaller.cs 也是个设计页面包含一个 serviceProcessInstaller1 组件和一个 serviceInstaller1 组件其中 serviceProcessInstaller1 属性中一般将 Account 的值改为 LocalSystem 而 serviceInstaller1 的属性中Description 是描述信息DisplayName 是显示的名称都在开头提到的系统服务管理页面中显示。ServiceName 指定了程序中使用该服务要用的名称。StartType 一般选为 Automatic代表了自动启动然后就是安装和启动了有好几种方法本文采用 InstallUtil.exe 和 批处理 结合的方式。InstallUtil.exe 命令行工具在 % SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe 路径下可以直接带路径使用也可以拷到项目中使用。下面给出批出理代码安装和启动服务CD /D %~dp0
InstallUtil WindowsServiceTest.exe
net start Service1
net start Service2
pause其中第一行是 cd 到当前目录。第二行是安装服务WindowsServiceTest.exe 是服务所在的程序名。第三行是启动其中的 Service1 服务。2、单独启动服务net start Service1
net start Service2
pause3、停止服务net stop Service1
net stop Service2
pause4、卸载服务CD /D %~dp0
installutil /u WindowsServiceTest.exe
pause大家可能发现了除了 Service1里面还有个 Service2这就是接下来要讲的安装两个以上服务的方法。只使用一个服务的话要把 Service2 删除首先按照之前的方法添加 Service2然后照样添加安装程序会出现在之前的地方新增了一个 serviceInstaller2接下来打开 Projectlnstaller.Designer.cs 文件这个是 VS 自动生成的本来是不需要我们修改的但这里似乎有一个 bug 参考《[c# windows 服务 一个进程 多个服务的使用](https://blog.csdn.net/dkdhn/article/details/50126819)》就是上图中的红框框住的一句AddRange 方法中的 this.serviceInstaller2并没有自动添加上所以我们手动加上。然后在程序入口函数 Program.Main () 中添加 Service2 的调用这样之后就可以生成程序了然后以管理员身份运行批处理文件安装和启动服务.bat然后在服务管理页面就可以看到了再运行 卸载服务.bat 程序功能也都生效了好了就说这些了最后提供下示例代码地址https://gitee.com/dlgcy/WindowsServiceTest