C#写一个Windows服务程序,启动多个service的问题
我的实现:添加一个Windows Service类型的类MainController,修改代码如下
static void Main()
{
System.ServiceProcess.ServiceBase[] ServicesToRun;
// Run all user Service in this process.
ServicesToRun = new System.ServiceProcess.ServiceBase[] {
new MainController(), // main service
new Service1 (),
new Service2 (),
new Service3 (),
};
System.ServiceProcess.ServiceBase.Run(ServicesToRun);
}
再向项目中添加Windows Service类型的类Service1, Service2, Service3。查看代码可以发现Service1,Service2,Service3大部分和MainController相同,但少了Main()方法。添加相应代码到Service1的OnStart()、OnStop()方法中,编译成功,然后安装运行该服务。但在查看服务输出时,发现MainController运行正常,但Service1,Service2,Service3都没有被自动启动,除非在他们的构造函数里,主动调用OnStart()。
请问,是不是我的用法有问题?请教如何实现我的需求?
相关推荐
自动执行服务程序 两法
NULL 博文链接:https://njm.iteye.com/blog/780394
C# 开机启动服务(windows service)
C# 开机启动服务(windows service) 本程序用ASP.NET C#开发,不针对系统版本限制。 本源码拿就来可以直接写您想要的服务,无需再改其它的代码,拿来主义是不是很好?例如订单服务。 本服务是100%源码,源码中包含: 1、启动服务.bat 2、停止服务.bat 3、注册服务.bat 4、注销服务.bat 如需要看服务是否启动成功,先要执行:注册服务.bat,启动服务.bat 再在服务进程里面看有没此服务。 如有其它问题联系QQ:4546547 如您有微信开发,POS开发等项目也可以联系我,谢谢!
怎么用C#写一个简单的WINDOWS服务程序
1.在VS.NET2003中新建一个WINDOWS服务程序的项目WinSrv_A。 2.更改SERVICE1.CS属性SERVICENAME为你所要建立的服务名称,在服务管理器->名称中你可以看到你的服务名 3.按F7进入代码窗口,里面有2个重载函数是你要在其中写代码的一个是 //protected override void OnStart(string[] args) //{...} //这个函数是你启动服务后执行的函数 //protected override void OnStop() //{...}//这个函数是你停止服务后执行的函数
C#编写Windows服务程序
从建立工程到编写服务程序的过程进行详尽介绍.. 并附上相应的关键代码在文档中...
c#写windows服务程序
c#写windows服务程序,这是一个很好的服务沉痼例子,大家可以好好研读。


