Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)qq
published in(发表于) 2014/7/11 9:18:01
C#中ServiceController组件应用实例

C#中ServiceController组件应用实例

ServiceController组件

1.功能

ServiceController组件实际上将操作请求传递给服务控制管理器,而不是传递给服务本身。服务控制管理器停止、启动或暂停服务,或者执行其他指定的操作。ServiceController 将请求传递给服务控制管理器后返回,而不等待服务控制管理器将请求传递给服务。因此,应该在服务类自身而不是在ServiceController类中处理异常。图1所示为Service Controller组件。



图1 ServiceController组件

2.属性

ServiceController组件常用属性及说明如表1所示。



表1 ServiceController组件常用属性及说明

下面对比较重要的属性进行详细介绍。

(1)CanStop属性,该属性用于获取一个值,该值指示服务在启动后是否可以停止。

语法:

public bool CanStop { get;}
属性值:如果服务可以停止则为True;否则为False。

(2)ServiceName属性。获取或设置对此实例引用的服务进行标识的名称。

语法:

public string ServiceName { get; set; }
属性值:对此ServiceController实例引用的服务进行标识的名称。默认值为空字符串("")。

示例

CanStop属性和ServiceName属性的使用

本示例实现的是当程序运行时单击【CanStop属性】按钮,通过CanStop属性的返回值,来判断名为“IISAdmin”的服务是否可以开始或停止,示例运行结果如图2所示。



图2 IISAdmin服务

程序主要代码如下:

this.serviceController1.MachineName = ".";

this.serviceController1.ServiceName = "IISAdmin";

if (serviceController1.CanStop)

{

MessageBox.Show(serviceController1.DisplayName + "服务可以停止");

}

else

{

MessageBox.Show(serviceController1.DisplayName + " 服务不可以停止");

}

完整程序代码如下:

★★★★★主程序文件完整程序代码★★★★★

using System;

using System.Collections.Generic;

using System.Windows.Forms;

namespace _8_32

{

static class Program

{

///



/// 应用程序的主入口点。

///


[STAThread]

static void Main()

{

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

Application.Run(new frmServiceControlle());

}

}

}

★★★★★frmServiceControlle窗体设计文件完整程序代码★★★★★


If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759