控制台程序转化为windows服务

首先我们创建一个控制台应用程序WriteLog,然后添加windows服务LogService

控制台程序转化为windows服务_第1张图片

新增的windows服务切换到代码视图,我这边用log4net进行的日志的记录

控制台程序转化为windows服务_第2张图片

OnStart方式是服务启动后执行的,OnStop是服务停止后执行的方法。

切换到设计页面,右击添加安装程序

控制台程序转化为windows服务_第3张图片

修改serviceInstaller1的属性

控制台程序转化为windows服务_第4张图片
  1. StartType属性值设置为Automatic,这样计算机重新启动时,服务会自动启动。
  2. Description属性是服务的描述。
  3. Display属性是服务名称。

修改serviceProcessInstaller1属性

LocalSystem表示本地系统管理员身份

控制台程序转化为windows服务_第5张图片

控制台启动项Program类中运行服务

static void Main(string[] args)
{
    ServiceBase[] ServicesToRun;
    ServicesToRun = new ServiceBase[]
    {
        new LogService() //这里的LogService是新增的Windows服务
    };
    ServiceBase.Run(ServicesToRun);
}

以管理员身份运行以下程序:

控制台程序转化为windows服务_第6张图片

切换到cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319(或者C:\Windows\Microsoft.NET\Framework\v2.0.50727)
安装服务:installutil ***(程序路径)

控制台程序转化为windows服务_第7张图片

OK,服务添加成功。cmd输入services.msc查看服务

我们启动服务,查看日志是否记录成功。


控制台程序转化为windows服务_第8张图片

日志记录成功,服务添加完成。

卸载服务:installutil /u ***(程序路径)

你可能感兴趣的:(控制台程序转化为windows服务)