.NET服务到Linux守护程序

时间:2011-07-05 14:56:35

标签: c# service mono daemon mono-service

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

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

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

1 个答案:

答案 0 :(得分:11)

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

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

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

我们已经有了类似的问题,所以please read this要看看如何处理Unix-Signals。