我即将着手构建另一个 Windows 服务,但我从过去的工作中知道,因为需要使用命令行安装服务,所以构建的乐趣并不多。有没有办法设置我的环境,以便在构建后自动重新注册服务?
(附带说明:我知道您可以在构建后运行命令行内容,但在服务未注册之前您无法构建 - 如果服务仍在运行)。所以,救命?
我即将着手构建另一个 Windows 服务,但我从过去的工作中知道,因为需要使用命令行安装服务,所以构建的乐趣并不多。有没有办法设置我的环境,以便在构建后自动重新注册服务?
(附带说明:我知道您可以在构建后运行命令行内容,但在服务未注册之前您无法构建 - 如果服务仍在运行)。所以,救命?
寻找 Topshelf 项目,它为我简化了 Windows 服务的工作。您也可以在命令行中运行您的服务,无需一直注册它。只需阅读文档,也许您会找到适合您需求的解决方案。
http://topshelf-project.com
http://docs.topshelf-project.com/en/latest/configuration/quickstart.html
我有两个服务应该在我的 webapp 之前启动。对于开发,我有两个带有 Topshelf 代码的控制台项目,所以我使用多个启动项目,它们都在 webapp 之前启动。
对于部署,我只需要控制台 exe 文件并运行 install 命令将其安装为普通服务,无需创建单独的 Windows 服务项目等。