我正在使用 .NET 3.5 编写可移植服务/守护进程,我的 Windows 服务正在运行,但我想知道单端口...
如果我理解正确的话,Mono-service 就是我正在寻找的。这究竟是如何工作的呢?我假设我在整个服务过程中都需要单声道兼容代码,对吗?例如,我正在使用 SQLite。为了将其与单声道一起使用,我应该重构我的代码以使用单声道 namespace 等,例如 Mono.Data.SQLite,这是否正确?我还可以使用 Settings.settings 吗?
另外,我听说守护进程没有实现 onStart/Stop 方法,所以我需要更改我的代码以在 mono/linux 下运行吗?即在我的代码中使用这些方法是否可以,并且可以运行 ServiceBase.Run()? Mono-service 是否支持这些?
最佳答案
您应该从一开始就创建用于 Windows 和 Linux 的程序。
您需要带有 Mono Tools 的 Visual Studio 或免费的 MonoDevelop-IDE 来创建 Mono 应用程序。 MonoDevelop 可以导入您的 Visual Studio 项目。此 IDE 可帮助您获得正确的命名空间。
使用 Mono-Service 将您的程序集作为守护进程运行。 Linux 守护进程使用信号与系统通信。请阅读the documentation .
我们已经有类似的问题,所以please read this看看如何处理 Unix 信号。
关于c# - .NET 服务到 Linux 守护进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6584732/