Сервис .NET для демона Linux - PullRequest
11 голосов
/ 05 июля 2011

Я пишу переносимый сервис / демон, используя .NET 3.5, моя служба Windows работает, но мне было интересно узнать о моно-порте ...

Моно-сервис - это то, что я ищу, если я правильно понимаю. Как именно это работает? Я предполагаю, что мне нужен моносовместимый код для всего моего сервиса, верно? Например, я использую SQLite. Правильно ли, что для того, чтобы использовать это с моно, я должен реорганизовать свой код, чтобы использовать моно пространства имен и т. Д., Например, Mono.Data.SQLite? Могу ли я использовать Settings.settings?

Кроме того, я читал, что демоны не реализуют методы onStart / Stop, поэтому мне нужно изменить свой код для работы в режиме mono / linux? то есть нормально ли иметь эти методы в моем коде и нормально запускать ServiceBase.Run ()? Моно-сервис учитывает это?

1 Ответ

11 голосов
/ 09 июля 2011

Вы должны создавать свои программы с самого начала для использования с Windows и Linux.

Для создания приложения Mono требуется Visual Studio с Mono Tools или бесплатная MonoDevelop-IDE. MonoDevelop может импортировать ваш проект Visual Studio. Эта IDE поможет вам получить правильные пространства имен.

Используйте Mono-Service для запуска вашей сборки в качестве демона. Демоны Linux используют Сигналы для связи с Системой. Пожалуйста, прочитайте документацию .

У нас уже был похожий вопрос, поэтому прочтите , чтобы узнать, как обрабатывать Unix-сигналы.

...