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


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

    开发步骤

    1、“新建项目”——“Window服务”

    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的可视化界面

    4、在可视化界面,单击鼠标右键,

    将会出现一个Installer为后缀的新界面,默认好像是Project Installer.cs,我这里将其重命名为ServiceInstaller.cs

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

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

    1、  新建一个windows程序,名称ServiceSetup,Form1重命名为FrmServiceSetup,

    界面控件如下:

    Program.cs代码如下:

     View Code

    主界面代码:

     View Code

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

     View Code

    Windows服务的操作类ServiceAPI.cs

     View Code

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

  • 相关阅读:
    poj3255,poj2449
    poj2186
    poj3249
    poj3378
    poj3274
    poj1948
    hdu 2181暴搜
    hdu 3342
    hdu 1285
    hdu 1598
  • 原文地址:https://www.cnblogs.com/armyfai/p/4397404.html
Copyright © 2020-2023  润新知