C#,Windows服务:ServiceBase.Run,​​具有多个相同类型的服务

Aus*_*nen 5 c# windows-services

我正在尝试运行几个类似的服务,ServiceBase.Run(ServiceBase[] )但它只运行第一个. MSDN没有明确否认这一点; 这段摘录是否意味着它们都必须是不同的类型?(粗体是由我而不是MSDN)

在服务可执行文件的main()函数中调用此重载以加载一组关联的服务.

Ree*_*sey 7

这是意图.这里的想法是,您可以使用单个可执行文件创建"多个服务",而不仅仅是单一类型的服务.

当向SCM注册服务时,预期每个服务都是唯一的.这表明(并且我认为是这种情况)数组中的每个元素都必须是ServiceBase的唯一实现.

如果你真的只是想拥有相同服务的多个副本,我会重新考虑你的设计.只需使用相同的方法启动多个线程的服务,它将为单个服务实例提供相同的效果.