码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2015-04-07 08:26:18      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:

 这里我以一个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目录下面。

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

标签:

原文地址:http://www.cnblogs.com/armyfai/p/4397404.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!