我使用一些代码,试图指望在.NET 2.0的处理器数量:System.Management访问被拒绝
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
此代码运行在卡西尼本地罚款,但在我们的测试版服务器上爆炸。任何人都知道该怎么办?
是的,那是我在想什么。有没有一种简单的方法来查看哪些权限是必需的?我可以随机地尝试它们,但是有没有日志或者显示哪一个我需要的东西? – LoveMeSomeCode 2010-11-12 20:33:16
@LoveMeSomeCode - 对不起,我不知道哪些权限是必需的,或者如何轻松找出。这是系统管理员比程序员更多地了解的东西...... – Oded 2010-11-12 21:05:19