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

ASP.NET
从一个舆论调查的制作谈面向对象的编程思路(二)
从一个舆论调查的制作谈面向对象的编程思路(三)
从一个舆论调查的制作谈面向对象的编程思路(四)
从一个舆论调查的制作谈面向对象的编程思路(五)
c#写的五子棋程序,供学习WinForms的鼠标事件和使用GDI+
我对.Net技术中asp.net应用的一点看法
ASP.NET连SQL7接口源代码
ASP.NET中密码保护,MD5和SHA1算法的使用
微软的远程处理框架.NET Remoting - 1
微软的远程处理框架.NET Remoting - 2
黑客写出了针对.Net平台的反编译器
在config.web中保存数据库连接串
在ASP.Net中两种利用CSS实现多界面的方法
ASP.NET中如何调用存储过程
ASP.NET中取代ASP的RS(Remote Scripting)技术的Framework
刚学ASP.Net,学了个简单的计算器
ASP.NET 链接数据库基础
一个简单的加密/解密方法
加入身份验证信息的SMTP mail发送
webconfig的设置节点说明

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 121 ::
收藏到网摘: 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 文件中的。
也许有更好的办法,望大家指教。