问题 .NET服务到Linux守护进程


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

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

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


5018
2017-07-05 14:56


起源



答案:


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

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

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

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


11
2017-07-09 13:23



干杯,信息量很大。你能否告诉我,通过WCF与GUI通信是否可以在单一服务中工作?该问题的答案之一表明IPC在单一服务下是不可能的,情况仍然如此吗?另外,如果你知道有什么资源可以学习写一个很棒的初始化脚本,我不知道从哪里开始,谷歌的例子并不那么冗长。 - marked


答案:


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

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

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

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


11
2017-07-09 13:23



干杯,信息量很大。你能否告诉我,通过WCF与GUI通信是否可以在单一服务中工作?该问题的答案之一表明IPC在单一服务下是不可能的,情况仍然如此吗?另外,如果你知道有什么资源可以学习写一个很棒的初始化脚本,我不知道从哪里开始,谷歌的例子并不那么冗长。 - marked