Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)qqpublished 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窗体设计文件完整程序代码★★★★★
赞