C#写一个Windows服务程序,启动多个service的问题

justforfun9912 justforfun9912 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
需求如下:我希望用C#写一个WINDOWS SERVICE程序,这个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

weixin_38669628

C# 开机启动服务(windows service)

C# 开机启动服务(windows service) 本程序用ASP.NET C#开发,不针对系统版本限制。 本源码拿就来可以直接写您想要的服务,无需再改其它的代码,拿来主义是不是很好?例如订单服务。 本服务是100%源码,源码中包含: 1、启动服务.bat 2、停止服务.bat 3、注册服务.bat 4、注销服务.bat 如需要看服务是否启动成功,先要执行:注册服务.bat,启动服务.bat 再在服务进程里面看有没此服务。 如有其它问题联系QQ:4546547 如您有微信开发,POS开发等项目也可以联系我,谢谢!

youNamehe

怎么用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() //{...}//这个函数是你停止服务后执行的函数

fansb123456

C#编写Windows服务程序

从建立工程到编写服务程序的过程进行详尽介绍.. 并附上相应的关键代码在文档中...

fatherpeanut000

c#写windows服务程序

c#写windows服务程序,这是一个很好的服务沉痼例子,大家可以好好研读。

qq_24651187
评论 5
收藏 已收藏
分享
返回顶部
justforfun9912
C# 111,129 成员 642,538 内容