[C#][EntLib]服务为何会依赖于WMI Performance Adapter服务

简介:

[C#]服务为何会依赖于WMI Performance Adapter服务

编写者

日期

关键词

郑昀@ultrapower

2005-6-13

Service C# Cache

“WMI Performance Adapter”

“Microsoft Enterprise Library”

 

现象

我们的C#编写的Windows ServiceCommandListener”在Windows 2000上运行正常,但是在Windows 2003上却总是依赖于“WMI Performance Adapter”服务的启动。

而“WMI Performance Adapter”服务一般是手动启动的,这样就导致服务器重启之后,“CommandListener”服务没有能够自动启动。

但是却找不到是哪一个部分依赖于这个“WMI Performance Adapter”。

 

经过逐个排查,确定是添加了对“Microsoft Enterprise Library”的“Microsoft.Practices.EnterpriseLibrary.Caching.dll”的使用导致的。

探求究竟

System.Management.Instrumentation引发的

由于Microsoft.Practices.EnterpriseLibrary.Caching工程中,有对“System.Management.Instrumentation”的引用。

而这个“System.Management.Instrumentation”命名空间提供一些类,提供在规范应用程序管理并通过 WMI向潜在使用者公开管理信息和事件时必需的类。这样,Microsoft Application Center  Microsoft Operations Manager 等使用者就可以轻松地管理您的应用程序,而管理员脚本或其他应用程序(托管应用程序和非托管应用程序)也可以监视和配置您的应用程序。

也就是说,正是因为Microsoft.Practices.EnterpriseLibrary.Caching,所以为服务引入了“WMI Performance Adapter”服务的依赖性。

解决办法:

由于没办法通过Cache自身的配置解除对“WMI Performance Adapter”服务的依赖,我们只能主动给“CommandListener”服务加上相关服务依赖性,这样让我们的服务能够成功自动启动。

 

通过以下代码,就可以:

Code

[RunInstaller(true)]

     public class ProjectInstaller : System.Configuration.Install.Installer

     {

         private System.ServiceProcess.ServiceProcessInstaller serviceProcessInstaller1;

         private Verifide.ServiceUtils.ServiceInstallerEx serviceInstaller1;this.serviceInstaller1.ServicesDependedOn = new string[] {

                                                                "WMI Performance Adapter"};

 

编写者

日期

关键词

郑昀@ultrapower

2005-6-13

Service C# Cache

“WMI Performance Adapter”

“Microsoft Enterprise Library”

 

目录
相关文章
SAP QM启用了Physical Sample Management后检验批有哪些特殊地方?
SAP QM启用了Physical Sample Management后检验批有哪些特殊地方?
SAP QM启用了Physical Sample Management后检验批有哪些特殊地方?
|
XML 数据格式
SAP CRM Application Extension Tool(AET)扩展字段的渲染原理
SAP CRM Application Extension Tool(AET)扩展字段的渲染原理
119 0
SAP CRM Application Extension Tool(AET)扩展字段的渲染原理
【.Net Micro Framework PortingKit - 04】修改启动代码&重写向量表
在上三篇《移植初步:环境搭建》《STM3210E平台构建》《调试初步:点亮LED灯》文章中,我们介绍了如何搭建开发环境,并初步写了测试代码,下一步我们将根据Cortex-M3的架构特点,修改启动代码和重写中断向量表。
613 0
一起谈.NET技术,改善代码设计 —— 优化物件之间的特性(Moving Features Between Objects)
  系列博客       1. 改善代码设计 —— 优化函数的构成(Composing Methods)       2. 改善代码设计 —— 优化物件之间的特性(Moving Features Between Objects)       3.
676 0
使用kbmmw smart service 属性时的一个注意事项
kbmmw 5.0 以后支持smart service, 这个用起来非常方便,kbmmw 通过 定制属性来简化编程,可以参考我以前的文章。但是这个意味着使用单元引用一定要小心, 否则出了问题,都不知道怎么回事?浪费大量的时间。
1363 0