繁体   English   中英

控制台应用程序作为Windows服务

[英]Console Application as Windows Service

我有以下控制台应用程序代码

    class Program
{
    static void Main(string[] args)
    {
        Task t = MainAsync(args);
        t.Wait();
    }

    static async Task MainAsync(string[] args)
    {
        Schema.Repositories.PlayerRepository playerRepo = new Schema.Repositories.PlayerRepository();
        await playerRepo.SeedGameForConsole();
    }
}

我想知道我需要对该控制台应用程序进行哪些更改,以使其可以在Windows服务中使用?

谢谢

TopShelf是我们在本地,UAT和生产服务器上使用的东西。 它允许您使用控制台应用程序,将其作为服务运行,并在本地调试。

(IMHO)很棒,应该完美满足您的陈述需求。

从他们的概述:

Topshelf是用于托管使用.NET框架编写的服务的框架。 服务的创建得到简化,允许开发人员创建一个简单的控制台应用程序,该应用程序可以使用Topshelf作为服务安装。 原因很简单:调试控制台应用程序比服务容易得多。 一旦对应用程序进行了测试并准备投入生产,Topshelf便可以轻松地将应用程序即服务安装。

http://www.codeproject.com/Articles/14353/Creating-a-Basic-Windows-Service-in-C

应该可以帮助您,Windows服务与简单的控制台应用程序有点不同:)

编辑:您必须扩展ServiceBase类,并隐含其生命周期方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM