.NET服务到Linux守护进程

我正在使用.NET 3.5编写便携式服务/守护进程,我的Windows服务正在运行,但我想知道单声道端口……

如果我理解正确,单声道服务就是我正在寻找的。 这究竟是如何工作的? 我假设我的服务中需要单声道兼容代码,对吗? 例如,我正在使用SQLite。 是否正确,为了使用单声道我应该重构我的代码使用单声道命名空间等,如Mono.Data.SQLite? 我还可以使用Settings.settings吗?

另外,我已经读过守护进程没有实现onStart / Stop方法,所以我需要更改我的代码才能在mono / linux下运行吗? 即在我的代码中使用这些方法是否可以,并且可以运行ServiceBase.Run()? Mono-service是否适应这些?

您应该从头开始创建程序,以便与Windows和Linux一起使用。

您需要使用Mono Tools的Visual Studio或免费的MonoDevelop-IDE来创建Mono-Application。 MonoDevelop可以导入您的Visual Studio项目。 此IDE可帮助您获取正确的命名空间。

使用Mono-Service将程序集作为守护程序运行。 Linux守护程序正在使用信号与系统进行通信。 请阅读文档 。

我们已经有了类似的问题,所以请阅读本文 ,了解如何处理Unix-Signals。