我正在使用.NET 3.5编写一个可移植的服务/守护程序,我的windows服务正在运行,但我想知道关于单声道端口的问题……
如果我理解正确的话,单一服务就是我想要的。然而,这到底是如何工作的呢?我假设我在整个服务中都需要单声道兼容的代码,对吗?例如,我正在使用SQLite。为了在mono中使用它,我应该重构我的代码以使用mono名称空间等,比如Mono.Data.SQLite,这是正确的吗?我可以继续使用Settings.settings吗?
另外,我读到守护进程不实现onStart/Stop方法,所以我需要更改代码才能在mono/linux下运行吗?也就是说,可以在我的代码中包含这些方法,也可以运行ServiceBase.Run()吗?Mono-service能满足这些需求吗?
发布于 2011-07-09 21:23:04
您应该从一开始就创建用于Windows和Linux的程序。
您需要具有Mono工具的Visual Studio或免费的MonoDevelop IDE来创建Mono应用程序。MonoDevelop可以导入您的Visual Studio项目。此IDE可帮助您获得正确的名称空间。
使用Mono-Service将程序集作为守护进程运行。Linux守护进程使用信号与系统通信。请阅读the documentation。
我们已经有了一个类似的问题,所以please read this看看,如何处理Unix信号。
https://stackoverflow.com/questions/6584732
复制相似问题