Windows services 如何将应用程序作为windows服务启动?

Windows services 如何将应用程序作为windows服务启动?,windows-services,Windows Services,我有一个要作为windows服务运行的windows应用程序-我如何才能做到这一点?快速n脏方法,使用windows资源工具包中的INSTSRV和SRVANY工具: 您可以使用工具执行此操作: 这是一项可以启动常规应用程序的服务,我们在工作中使用它,它也可以与GUI应用程序一起使用。由于该服务是在本地服务帐户下运行的,因此您无法查看GUI或以任何方式访问它,因为它正在另一个winlogon会话中运行。对于具有源代码的.Net应用程序的解决方案: 如果您的项目有一个控制器和业务逻辑分离良好(MVC

我有一个要作为windows服务运行的windows应用程序-我如何才能做到这一点?

快速n脏方法,使用windows资源工具包中的INSTSRV和SRVANY工具:

您可以使用工具执行此操作:

这是一项可以启动常规应用程序的服务,我们在工作中使用它,它也可以与GUI应用程序一起使用。由于该服务是在本地服务帐户下运行的,因此您无法查看GUI或以任何方式访问它,因为它正在另一个winlogon会话中运行。

对于具有源代码的.Net应用程序的解决方案: 如果您的项目有一个控制器和业务逻辑分离良好(MVC),这将是非常简单和快速的

首先,在解决方案中创建一个新项目并选择“Windows服务”。这将创建一个新项目,其中包含一个包含Main的程序类

在Main中,您需要附加服务基类

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的链接是好的。

< P>除了XytService和SRVANY已经推荐,你应该考虑。你可以免费试用30天,以确保它能为你做工作。

祝你好运!

试试这个:


它适用于任何版本的Windows。我最近用Server 2008对它进行了测试。

你用什么来编程?.Net?请参考这个问题,几乎相同[[1]: