当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 给windows服务添加描述

ASP.NET
在ASP.NET中如何用C#.NET实现基于表单的验证
ADO.NET Entity Framework 试水:并发
.Net的精髓:XML和SOAP
多语言开发的个人体验
ASP.NET Routing对请求的处理方式
探索.Net中的委托
使用 ASP.NET 加密口令
[ASP.NET] Session 详解
ASP+ 与 Java
从ASP迁移至ASP+
从ASP迁移至ASP+ ----------进入DataSet
从ASP迁移至ASP+ --将HTML表格转换为ASP+数据列表
从ASP迁移至ASP+ --处理会话变量(Session Variables)
ASP+ 与 Java(一)
ASP+ 与 Java(二)
asp+的论坛列表程序---代码部分
asp+的论坛列表程序---页面部分
什么是受管(managed)?
用c#写的asp+域名查询程序
ASP+联结数据库

ASP.NET 中的 给windows服务添加描述


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 139 ::
收藏到网摘: n/a


 最近写了个Windows服务(Windows Services),安装了以后,觉得和已有的Windows服务不一样。为什么?我的缺少描述,中间一栏是空的。
  再看.NET的ServiceBase类没有添加描述的属性。
  public class ProjectInstaller : System.Configuration.Install.Installer中也没有什么属性来添加。从网搜了后才知道要重载ProjectInstaller 的Install和UnInstall虚方法。其实重写这些虚方法就是为了在注册表相应服务中加一个鍵值"Description",其值填为相应的描述就可以了。
 public override void Install(IDictionary stateServer) { Microsoft.Win32.RegistryKey system, service, config;
try { //Let the project installer do its job base.Install(stateServer); system = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("System").OpenSubKey("CurrentControlSet").OpenSubKey("Services"); service = system.OpenSubKey(this.serviceInstaller1.ServiceName, true); service.SetValue("Description", "服务描述");
//添加额外的鍵 config = service.CreateSubKey("AdditionalInformation"); } catch(Exception e) {

} } public override void Uninstall(IDictionary stateServer) { Microsoft.Win32.RegistryKey system, currentControlSet, services, service;
try { system = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("System"); currentControlSet = system.OpenSubKey("CurrentControlSet"); services = currentControlSet.OpenSubKey("Services"); service = services.OpenSubKey(this.serviceInstaller1.ServiceName, true); //删除额外的鍵 service.DeleteSubKeyTree("AdditionalInformation"); //... } catch(Exception e) { } finally { base.Uninstall(stateServer); } }
注意这些代码是在ProjectInstaller 文件中的。
也许有更好的办法,望大家指教。