簡體   English   中英

.NET中Windows服務的進程內WMI提供程序

[英]In-Process WMI Provider for a Windows Service in .NET

作為.NET編寫的Windows Service的一部分,您如何編寫進程內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類,都會拋出一些奇怪的異常。

似乎必須有一些我忽略的非常簡單的事情。

我唯一缺少的一點是必須在GAC中安裝進程內提供程序。 有關更多詳細信息,請參見本文

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM