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

时间:2016-06-16 20:45:03

标签: c# console

我有以下控制台应用代码

    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服务中使用它?

由于

2 个答案:

答案 0 :(得分:1)

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

这是(恕我直言)很棒,应该完美地满足你所陈述的需求。

从他们的概述:

  

Topshelf是托管使用.NET编写的服务的框架   框架。简化了服务的创建,允许开发人员   创建一个可以作为安装的简单控制台应用程序   使用Topshelf的服务。原因很简单:它很远   比服务更容易调试控制台应用程序。而且一旦   应用程序经过测试并可以投入生产,Topshelf使其变得简单   将应用程序安装为服务。

答案 1 :(得分:0)

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

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

编辑:你必须扩展类$("#users").on("click",".master", function (e) { $(this).next("tr").toggle(); $(this).find(".arrow").toggleClass("up"); }); 并实现它的生命周期方法。