C#开发可以可视化操作的windows服务

 这里我以一个WCF的监听服务为例,因为我是做一个局域聊天室,需要服务器端监听终端,所以我就开发了一个服务,以便控制此监听服务。然而,我们开发的windows服务,默认情况下是无法可视化的操作的,这里我就额外的开发一个工具来对此服务进行操作,效果图如下:
C#开发可以可视化操作的windows服务_第1张图片

开发步骤

1、“新建项目”——“Window服务”
C#开发可以可视化操作的windows服务_第2张图片
Program.cs代码:

复制代码
    using System;  
    using System.Collections.Generic;  
    using System.Linq;  
    using System.Text;  
    using System.ServiceModel;  
    using System.ServiceModel.Description;  
    using System.ServiceProcess;  
      
    namespace MSMQChatService  
    {  
        class Program  
        {  
            static void Main()  
            {  
                #region 服务启动入口,正式用  
      
                ServiceBase[] ServicesToRun;  
                ServicesToRun = new ServiceBase[] {  new MQChatService()  };  
                ServiceBase.Run(ServicesToRun);  
     
                #endregion  
            }  
        }  
复制代码

MQChatService.cs代码如下:

    protected override void OnStart(string[] args)  
            {  
                //开启服务  这里就是你想要让服务做的操作  
                StartService();  
            }  

3、切换到MQChatService的可视化界面
C#开发可以可视化操作的windows服务_第3张图片

4、在可视化界面,单击鼠标右键,
C#开发可以可视化操作的windows服务_第4张图片

将会出现一个Installer为后缀的新界面,默认好像是Project Installer.cs,我这里将其重命名为ServiceInstaller.cs
C#开发可以可视化操作的windows服务_第5张图片

分别对界面上这两个组件进行属性配置,具体的属性签名可以查看属性面板的最下面(右下角处)

C#开发可以可视化操作的windows服务_第6张图片

好了,我们的windows服务已经开发好了,接下来就开发一个可视化的控制器,来控制服务的安装、卸载、启动和停止。

1、  新建一个windows程序,名称ServiceSetup,Form1重命名为FrmServiceSetup,
C#开发可以可视化操作的windows服务_第7张图片

界面控件如下:

C#开发可以可视化操作的windows服务_第8张图片

Program.cs代码如下:

  View Code

主界面代码:

  View Code

新建一个类,专门用于日志操作LogAPI.cs,这里的日志路径和名称建议从配置文件中读取

  View Code

Windows服务的操作类ServiceAPI.cs

  View Code

注意:记得将服务程序的dll拷贝到可视化安装程序的bin目录下面。

你可能感兴趣的:(windows)