Простой способ заставить .net DLL работать как служба Windows - PullRequest
2 голосов
/ 27 января 2012

У меня есть проект NServiceBus (библиотека классов), который я хотел бы запустить в службе Windows (сейчас он использует NServiceBus.Host.exe)

Я хотел бы иметь возможность поставить какнемного вокруг моей dll, насколько это возможно.Какой самый простой способ заставить dll работать как Windows Service?

Я бы не хотел делать отдельный установщик, но если мне придется сделать установщик, я сделаю это.

Ответы [ 4 ]

3 голосов
/ 27 января 2012

Нет более простого способа, чем написать службу Windows, которая обернет вашу библиотеку. Вам понадобится что-то, что выполняет работу по связи с диспетчером управления службами (реагирование на запуск, остановки и т. Д.), А также обрабатывает «основной цикл» для службы. Единственный способ сделать это, кроме написанного кем-то другим (например, NServiceBus.Host.exe), - написать один самостоятельно.

1 голос
/ 27 января 2012

Afaik, хост NServiceBus использует TopShelf внизу.В любом случае, это должно быть то, что вы ищете: http://nservicebus.com/GenericHost.aspx> Установка

1 голос
/ 27 января 2012

Хотя я не использовал его сам, некоторым пэрам понравилось TopShelf - очевидно, самая приятная особенность (ну, та, которая им понравилась) - это возможность обновить сервис с помощью xcopy вместо того, чтобы иметьостанавливать / удалять / устанавливать / запускать каждый раз.

1 голос
/ 27 января 2012

Приложения служб Windows

И просто вызовите библиотеку классов из службы ...

...