【发布时间】:2017-07-17 22:08:14
【问题描述】:
所以我有一个由 API 和 Windows 服务(由 Topshelf 包装)组成的应用程序,它使用 RabbitMQ 持续监听事件并按需处理数据。
为了教育和娱乐,我正在尝试将其重写为可在 .NET Core 和 unix 上运行的等效设置(例如,在 AWS 上的 docker 容器中)
如果我想跨平台使用 .NET Core 来实现类似 Windows 服务(永远运行的后台进程)的最佳方式是什么?
【问题讨论】:
-
对此也很感兴趣。
-
这与任何实用的东西相去甚远。将其移植到 Windows 是他们的首要任务,set of patches 已于 3 个月前提交,并为 v2.1.0 设置了里程碑。但是仍然缺少一堆不容易替换的东西。永远不会有 InstallUtil.exe 和对 ServiceInstaller 的支持,这可能会被 sc.exe 所限制。我想说的更关键的是缺少对 EventLog 的支持。当它不能做一些基本的事情,比如记录启动失败时,很难创建一个可用的服务。
标签: unix cross-platform .net-core daemon