c#大量构建windows服务

本文关键字:windows 服务 构建 | 更新日期: 2023-09-27 18:03:08

我基本上想构建10个已编码的windows服务副本。我想对代码进行的唯一更改是将服务名称从MyService1更改为Myservice2…

是否有一种简单的方法可以简单地构建这些文件并将它们导出到20个不同的目录?

c#大量构建windows服务

正如评论中所指出的那样,您的问题的一个简单解决方案是使用多个线程来并行地派生相同的逻辑。有许多方法可以实现这一点,通过后台工作线程、线程池和简单的一次性线程。例如,您可以有以下设置:

...  [In your main thread]
for(int i=0;i<10;i++)
{
  new Thread(()=> { DoSomething(); });
  // Once spun off, the application will not block here.  It will continue
  // the next iteration, while DoSomething does something. 
}
...
private void DoSomething()
{
    // Execute some logic
}

这将使用您的应用程序逻辑启动10个线程,执行DoSomething()。它们会彼此平行。然而,这绝不是唯一的方法,在本例中,您没有管理线程。您只是简单地实例化了它们而忘记了它们。阅读线程将对您非常有益,因为这将解决您的多个项目问题。

根据其他人的建议,可能有更好的方法来解决这个问题。
(你正在解决的问题是什么?)

对于创建多个不同名称的服务,您是否考虑过sc命令?

从命令行运行如下:

sc create MyService1 binPath= c:'foo.exe
sc create MyService2 binPath= c:'foo.exe