C # массовая сборка windows services - PullRequest
0 голосов
/ 20 июля 2011

Я в основном хочу создать 10 копий службы Windows, которая была закодирована.Единственное изменение, которое я хочу внести в код, - это изменить имя службы с MyService1 на Myservice2 и т. Д. *

Есть ли простой способ просто создать их и экспортировать в двадцать различных каталогов?

Ответы [ 2 ]

0 голосов
/ 20 июля 2011

Как полагают другие, возможно, есть более эффективные способы решения проблемы.
(Какую проблему вы решаете?)

Что касается создания нескольких служб с разными именами, рассматривали ли выsc команда?

Запускается из командной строки как:

sc create MyService1 binPath= c:\foo.exe
sc create MyService2 binPath= c:\foo.exe
0 голосов
/ 20 июля 2011

Простое решение вашей проблемы, как отмечается в комментариях, заключается в использовании нескольких потоков для параллельного выделения одной и той же логики. Есть много способов добиться этого с помощью фоновых рабочих, пулов потоков и простых одноразовых потоков. Например, вы можете иметь следующую настройку:

...  [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(). Все они будут идти параллельно друг другу. Однако это ни в коем случае не единственный способ сделать это, и в этом примере вы не управляете потоками. Вы просто создаете их экземпляры и забываете о них. Было бы полезно почитать о многопоточности, поскольку это решило бы ваши проблемы с несколькими проектами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...