问题描述
各位大神,我ASP.net中用c#语言获取远程主机的进程所属的用户名时,用到了网络上提供的以下语句,但在执行时报错:SelectQueryquery1=newSelectQuery("Select*fromWin32_ProcessWHEREprocessID="+pID);ManagementObjectSearchersearcher1=newManagementObjectSearcher(query1);try{foreach(ManagementObjectdiskinsearcher1.Get()){ManagementBaseObjectinPar=null;ManagementBaseObjectoutPar=null;inPar=disk.GetMethodParameters("GetOwner");outPar=disk.InvokeMethod("GetOwner",inPar,null);text1=outPar["User"].ToString();break;}}catch{text1="SYSTEM";}returntext1;}其中,outPar=disk.InvokeMethod("GetOwner",inPar,null)这一句报错,说是“对象的当前状态使该操作无效”,请问各位大神是什么原因?网上有人建议在在web.config增加<appSettings><addkey="aspnet:MaxHttpCollectionKeys"value="5000"/></appSettings>但是,试了仍然报错。。。所以请各位大侠帮忙,小弟不胜感激。
解决方案
解决方案二:
1.更新到最新的系统补丁和.net补丁2.把5000改成50000呢
解决方案三:
试过了,5000改为50000也没有用啊。。。