2

.NET で記述された Windows サービスの一部として、インプロセス WMI プロバイダーをどのように記述しますか?

分離ホスティング モデルをスタンドアロン アプリケーションとして使用するプロバイダーを作成しましたが、ホスティング モデル = 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 クラスにアクセスしようとするたびに、奇妙な例外がスローされます。

私が見落としている本当に単純なものがあるに違いないようです。

4

1 に答える 1

5

唯一欠けていたのは、インプロセス プロバイダーを GAC にインストールする必要があることでした。詳細については、この記事を参照してください。

于 2008-12-30T01:26:54.023 に答える