.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 クラスにアクセスしようとするたびに、奇妙な例外がスローされます。
私が見落としている本当に単純なものがあるに違いないようです。