如何编写进程内WMI提供程序作为用.NET编写的Windows服务的一部分?
我编写了一个使用解耦主机模型作为独立应用程序的提供程序,但无法弄清楚如何使用Hosting Model = ManagementHostingModel.NetworkService来运行Windows服务.
这是我正在使用的那种提供者:
[ManagementEntity] public class Stuff { private readonly string _id; public Stuff( string id ) { _id = id; } [ManagementKey] public string Id { get { return _id; } } [ManagementProbe] public DateTime Time { get { return DateTime.UtcNow; } } [ManagementEnumerator] public static IEnumerable Enumerate() { for ( int i = 0; i < 5; i++ ) { yield return new Stuff( i.ToString() ); } } }
我注册使用:
InstrumentationManager.RegisterType(typeof (Stuff));
每当我尝试读取属性值时尝试访问WMI类,我只会抛出一些奇怪的异常.
似乎必须有一些我非常简单的东西.
我唯一缺少的是必须在GAC中安装进程内提供程序.有关详细信息,请参阅此文章.