C# .NET中Windows服务的进程内WMI提供程序
如何将进程内WMI提供程序编写为.NET中编写的Windows服务的一部分 我编写了一个提供程序,该提供程序将解耦合托管模型用作独立应用程序,但不知道如何使使用托管模型=ManagementHostingModel.NetworkService的Windows服务正常工作 这是我正在使用的提供商类型:C# .NET中Windows服务的进程内WMI提供程序,c#,.net,windows-services,wmi,C#,.net,Windows Services,Wmi,如何将进程内WMI提供程序编写为.NET中编写的Windows服务的一部分 我编写了一个提供程序,该提供程序将解耦合托管模型用作独立应用程序,但不知道如何使使用托管模型=ManagementHostingModel.NetworkService的Windows服务正常工作 这是我正在使用的提供商类型: [ManagementEntity] public class Stuff { private readonly string _id; public Stuff( st
[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() );
}
}
}
每次我试图读取属性值时访问WMI类,都会抛出一些奇怪的异常
似乎我忽略了一些非常简单的东西。我唯一缺少的是进程内提供程序必须安装在GAC中。有关更多详细信息,请参阅。您如何向提供商获取有关您的特定服务的信息?我发现的所有示例都提供了固定数据(如
内容
)或系统数据(如DateTime.UtcNow
,或运行进程列表)。如果WMI主机正在实例化和运行耦合的提供程序,那么它如何获取要提供的特定于应用程序的数据?
InstrumentationManager.RegisterType(typeof (Stuff));