servicebase类:

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

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

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

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

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

 

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

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

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

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

 

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

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

 

安装服务程序类

serviceInstaller 类:安装服务类

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

代码上这样体现:

   this.Installers.AddRange(new System.Configuration.Install.Installer[] {
                //服务安装在服务应用程序中。服务程序可以有多个服务。
            this.serviceProcessInstaller1,this.serviceInstaller1});  
 
 
友情提示:        在服务安装时,容易出现“安装失败”的提示。请到事件查看器中查看具体的错误信息。在服务安装好。在SCM启动服务时,提示错误信息5 拒绝访问。那么有可能是你服务放置的文件夹或盘符的访问权限问题。移动到扩展分区的逻辑分区就好。不要放在主分区。

作者: 沐海 发表于 2011-08-22 15:03 原文链接

推荐.NET配套的通用数据层ORM框架:CYQ.Data 通用数据层框架
新浪微博粉丝精灵,刷粉丝、刷评论、刷转发、企业商家微博营销必备工具"