我有一个Windows应用程序,我想作为Windows服务运行 - 我该怎么做?
答案 0 :(得分:3)
您可以使用工具执行此操作:XYNTService。
这是一项可以启动常规应用程序的服务,我们在工作中使用它,它也适用于GUI应用程序。由于该服务在本地SERVICE帐户下运行,因此您无法以任何方式查看GUI或访问它,因为它正在另一个winlogon会话中运行。
答案 1 :(得分:2)
快速弄脏,使用Windows资源工具包中的INSTSRV和SRVANY工具: How To Create a User-Defined Service
答案 2 :(得分:1)
如果你的项目有一个控制器和业务逻辑完全分离(MVC),这将非常容易和快速。
首先,在解决方案中创建一个新项目,然后选择“Windows服务”。这将创建一个包含Main。
的Program类的新项目在Main中,您需要附加Service Base类。
static class Program
{
static void Main()
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[] {new Service1(), new MySecondUserService()};
ServiceBase.Run(ServicesToRun);
}
}
在您的服务中(扩展ServiceBase的人需要覆盖:
protected override void OnStart(string[] args)
要调用控制器来启动作业,或者只需使用线程开始while(...)。
否则,Patrick Cuff的链接是好的。
答案 3 :(得分:1)
答案 4 :(得分:0)