代码改变世界

结合MSDN理解windows service 服务安装的三个类。

  沐海  阅读(1767)  评论(0编辑  收藏  举报

servicebase类:

服务类从此类派生,重写方法。

一个可执行文件包含多项服务,每项服务包含单独的安装“注册服务类”。服务与日志相关。

可执行文件的main()函数定义那些服务应该运行。

服务工作目录是系统目录,而不是可执行文件所在目录。

1
启动某服务时,系统将定位相应的可执行文件,并运行该服务的ONSTART()方法,运行服务于运行可执行文件并不相同。 可执行文件仅加载服务。服务则通过“SCM(服务控制器)”访问。也就是大家在系统中-管理工具-服务 。  当对服务首次调用开始时,可执行文件调用服务类的派生类的构造函数。构造函数之后立即调用ONstart()方法。服务首次加载之后构造函数不会再执行。构造函数和ONSTART()处理要分开。

 

从上文可以看出。我们平常在使用的360.瑞星等软件,每次启动都是启动运行EXE文件调用“启动服务”。

那么我们为什么都要对软件进行安装那?

——————————————————————————————————————————

软件的安装也是我们通过服务的安装。从一定程度上来说,软件分为两部分“安装”和“运行”。我们先割裂还看,发现服务的安装和运行的关系并不大。

 

而我们软件的功能需求 1.首先要搞清楚怎么能让用户简便的安装和卸载咱们的软件。

                             2.认真写好软件运行时所做的工作。

 

安装服务程序类

serviceInstaller 类:安装服务类

serviceProcessInstaller:安装服务程序类(服务程序中可以有多个服务。)   Process 程序。方法。的意思。

代码上这样体现:

1
2
3
this.Installers.AddRange(new System.Configuration.Install.Installer[] {
             //服务安装在服务应用程序中。服务程序可以有多个服务。
         this.serviceProcessInstaller1,this.serviceInstaller1});  
 
 
友情提示:        在服务安装时,容易出现“安装失败”的提示。请到事件查看器中查看具体的错误信息。在服务安装好。在SCM启动服务时,提示错误信息5 拒绝访问。那么有可能是你服务放置的文件夹或盘符的访问权限问题。移动到扩展分区的逻辑分区就好。不要放在主分区。
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
记录生活、工作、学习点滴!
E-Mail:mahaisong@hotmail.com 欢迎大家讨论。
沐海博客园,我有一颗,卓越的心!
点击右上角即可分享
微信分享提示