c# Windows服务和控制台应用程序于一体

本文关键字:应用程序 于一体 控制台 Windows 服务 | 更新日期: 2023-09-27 18:18:52

我们一直在制作windows服务,我们有一个非常好的模板,有一些很好的命令行参数,方便安装等。

这是我们想做的事情……编写一位代码,以便编译后的代码可以作为服务或控制台应用程序运行,这取决于启动它的方式。

我们发现这样做:

static void Main(string[] args)
{
    if (System.Environment.UserInteractive)
    {
        // You double clicked the exe
        Console.Write("You double clicked me")
    }
    else // Windows started me as a service.
    {
        ServiceBase[] ServicesToRun;
        ServicesToRun = new ServiceBase[] { new Service_Manager() };
        ServiceBase.Run(ServicesToRun);
    }
}

是安装服务等的好方法。但是不显示控制台。那么,在不编写两个应用程序和共享DLL的情况下,是否有一种简单的方法或某些东西可以包含在其中,允许"控制台"显示?

c# Windows服务和控制台应用程序于一体

如果你想的话,你可以使用TopShelf,它正是你要找的。

你可以编写一个实际上是Windows服务的应用程序,但它可以作为控制台应用程序运行。

它使调试更容易