gpt4 book ai didi

.net - System.Management 访问被拒绝

转载 作者:行者123 更新时间:2023-12-04 14:13:37 25 4
gpt4 key购买 nike

我正在使用一些代码来尝试计算 .NET 2.0 中的处理器数量:

internal static int GetNumberOfProcessors()
{
List<string> list = new List<string>();
ManagementClass mgmt = new ManagementClass("Win32_Processor");
foreach (ManagementObject obj in mgmt.GetInstances())
{
string item = obj.Properties["SocketDesignation"].Value.ToString();
if (!list.Contains(item))
{
list.Add(item);
}
}
return list.Count;
}

它像这样爆炸了:
[ManagementException: Access denied ]
System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode) +377984
System.Management.ManagementScope.InitializeGuts(Object o) +654
System.Management.ManagementScope.Initialize() +162
System.Management.ManagementObject.Initialize(Boolean getObject) +492
System.Management.ManagementClass.GetInstances(EnumerationOptions options) +122
System.Management.ManagementClass.GetInstances() +6

这段代码在 cassini 本地运行良好,但在我们的 beta 服务器上却崩溃了。任何人都知道该怎么做?

最佳答案

好吧,我讨厌回答我自己的问题,但我发现了这个:http://support.microsoft.com/kb/317012
它似乎确实有效。

您必须专门修改您的 CIMV2 权限,而我必须为特定用户而不是 ASPNET 进行修改。启用后,您可以使用 System.Management 代码来计算处理器等。

我真的不喜欢这是多么晦涩难懂。 Microsoft 需要更新这些异常(exception)。当 System.Management 类失败时,它应该提供有关需要激活哪些权限才能使代码工作的详细信息。

关于.net - System.Management 访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4158890/

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