首页 文章

用于.NET中的Windows服务的进程内WMI提供程序

提问于
浏览
2

如何编写进程内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类,我只会抛出一些奇怪的异常 .

似乎必须有一些我非常简单的东西 .

1 回答

  • 5

    我唯一缺少的是必须在GAC中安装进程内提供程序 . 有关详细信息,请参阅this article .

相关问题