.NET Service для Linux Daemon

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

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

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

Ответ 1

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

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

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

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