11

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

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

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

4

1 回答 1

11

您应该从一开始就创建用于 Windows 和 Linux 的程序。

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

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

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

于 2011-07-09T13:23:03.717 回答