我有一个Windows服务。它工作正常。但是我想将它转换为exe并使用命令行参数从其他服务调用它。我看到大多数关于将exe转换为服务而不是将服务转换为exe的文章。
答案 0 :(得分:0)
基本上,过程将是:
由于服务的启动时间很短,通常只在OnStart中执行基本的初始化步骤,并且延迟“实际”执行(通过使用定时器或直到收到特定的I / O操作)。可执行程序没有这个限制所以也许这可能会被重构。
答案 1 :(得分:0)
我会创建一个应用程序,可以单独使用,也可以作为服务工作者使用。为此,您需要创建一个新项目并移动所有与服务无关的代码。您需要重构启动代码以接受参数。这样,您就可以在此服务中将此应用程序用作Worker应用程序。但是,如果没有启动论证,它将毁于常规应用程序。
例如,当作为服务工作者运行时,您将使用如下所示的启动路径启动服务中的进程:
"c:\program files\myCompany\MyApplication\app.exe /runAs sysAdmin /service 1 /jobId 123"
您的服务本身现在只包含找到“要做的工作”的代码并启动“工作人员”。
作为独立运行的工作人员将显示控制台的黑屏或获胜应用的表单。