Сервис.NET для демона Linux

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

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

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

1 ответ

Решение

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

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

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

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

Другие вопросы по тегам