C#控制台应用程序转换为windows服务

通常在开发过程中,会遇到控制台程序需要转换为Windows服务的情况。这个时候我们只需要在控制台程序中添加Windows服务文件并进行配置,即可在服务器中进行安装,让控制台程序以服务的形式跑起来。

1、在控制台项目中新增一个Windows服务文件,我这里命名为OrderSync.cs。

2、 查看新增的Windows服务代码,将服务名称设置为自己需要的名称。

    partial class OrderSync : ServiceBase
    {
        public OrderSync()
        {
            InitializeComponent();
            base.ServiceName = "OrderSync";
        }

        protected override void OnStart(string[] args)
        {
            // TODO:  在此处添加代码以启动服务。
        }

        protected override void OnStop()
        {
            // TODO:  在此处添加代码以执行停止服务所需的关闭操作。
        }
    }

3、双击打开新增的Windows服务cs文件,右键点击添加安装程序。

4、配置安装程序。

双击安装成功的安装程序ProjectInstaller.cs,会看到serviceProcessInstaller1和serviceInstaller1:

 鼠标左键选中serviceProcessInstaller1,在右下角的属性中进行如下配置:

 鼠标左键选中serviceInstaller1,在右下角的属性中进行如下配置:

 5、修改控制台程序入口。

将控制台入口Program.cs改为如下:

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

6、Windows服务安装。

重新编译生成控制台程序之后,需要在编译后的文件夹中增加三个文件

1、微软安装程序工具 (Installutil.exe),只要你电脑安装了Visual Studio,这个文件就可以在C:\Windows\Microsoft.NET\Framework\v2.0.50727(或者C:\Windows\Microsoft.NET\Framework\v4.0.30319)中找到

将 Installutil.exe文件Copy到编译完的控制台应用程序中!

2、安装执行文件和卸载执行文件bat:

 setup.bat文件中编辑如下内容,OrderSyncService.exe请更名为你项目的执行文件名称:

installutil OrderSyncService.exe

unsetup.bat文件中编辑如下内容,OrderSyncService.exe请更名为你项目的执行文件名称:

installutil OrderSyncService.exe /u

3、保存成功之后点击setup.bat,微软安装程序工具 (Installutil.exe)会自动安装OrderSyncService.exe服务。现在服务就已经开始运行了。

4、如果要卸载服务,点击unsetup.bat即可。

  • 4
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值