ASP.NET在执行某获取远程服务器进程的用户名时报错“对象的当前状态使该操作无效”
各位大神,我ASP.net中用c#语言获取远程主机的进程所属的用户名时,用到了网络上提供的以下语句,但在执行时报错:
SelectQuery query1 = new SelectQuery("Select * from Win32_Process WHERE processID=" + pID);
ManagementObjectSearcher searcher1 = new ManagementObjectSearcher(query1);
try
{
foreach (ManagementObject disk in searcher1.Get())
{
ManagementBaseObject inPar = null;
ManagementBaseObject outPar = null;
inPar = disk.GetMethodParameters("GetOwner");
outPar = disk.InvokeMethod("GetOwner", inPar, null);
text1 = outPar["User"].ToString();
break;
}
}
catch
{
text1 = "SYSTEM";
}
return text1;
}
其中,outPar = disk.InvokeMethod("GetOwner", inPar, null)这一句报错,说是“对象的当前状态使该操作无效”,请问各位大神是什么原因?网上有人建议在在web.config增加
<appSettings>
<add key="aspnet:MaxHttpCollectionKeys" value="5000" />
</appSettings>
但是,试了仍然报错。。。所以请各位大侠帮忙,小弟不胜感激。