gpt4 book ai didi

c# - 如何在 ASP.Net 应用程序中使用 WMI、C# 将自定义属性添加到 System.Managment 对象?

转载 作者:太空宇宙 更新时间:2023-11-03 11:50:21 25 4
gpt4 key购买 nike

AA,

我想将自定义属性添加到 WMi 对象的属性集合中。因此,每当我检索该对象的属性时,我也会获得自定义添加的属性。具体来说看下面的代码。

foreach (ManagementObject WebSite in WebSitesCollection)
{
if (WebSite.Properties["Name"].Value.ToString().Contains(appPoolName))
{
foreach (PropertyData propertyData in WebSite.Properties)
{
try
{

HttpContext.Current.Response.Write(propertyData.Name + " " + propertyData.Value + "<br/>");
if (propertyData.Name.Equals("Enable32BitAppOnWin64"))
{
AppPoolx.SetPropertyValue("Enable32BitAppOnWin64", true);
AppPoolx.Put(); return true;
}
else
{
AppPoolx.Properties.Add("Enable32BitAppOnWin64", true);
AppPoolx.Put(); return true;
}

}
catch (Exception ex1)
{
HttpContext.Current.Response.Write("Error Ocurred while Setting Property: " + ex1.Message + "<br />");
break;
}
}
}

}

但是 AppPoolx.Properties.Add("Enable32BitAppOnWin64", true); 返回错误

由于对象的当前状态,操作无效。

我想知道是否可以向 WMi 对象添加自定义属性。如果这个 Add() 函数是做什么用的?

无论如何,将“自定义属性添加到 WMI 对象”的正确步骤是什么。

请不要建议我可以存储在数据库中。

问候

史蒂夫

最佳答案

WMI 对象基本上是 com 对象,很像 C# 对象,这些对象由另一端的代码填充。

要添加此自定义属性,您必须在另一端的代码中具有存储自定义属性的对象数据的功能。

您正在调用的添加属性方法对 WMI API 返回的所有(几乎大多数)com 对象都无效这可能是您的问题,我知道这与 WMI 调用的对象的方式有关从调用它们的 com 组件中编码。

简而言之:这不太可能。

更正确的方法是确定您正在使用的对象的实际类型,并在对象可写的属性上设置属性值,然后将其推送回 WMI API。

关于c# - 如何在 ASP.Net 应用程序中使用 WMI、C# 将自定义属性添加到 System.Managment 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2272139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com