当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 在Window2003上执行System.Diagnostics.Process.GetProcessesByName等方法失败的原因

ASP.NET
基于C#的接口基础教程之五
基于C#的接口基础教程之六
ASP.NET中数据库的操作初步----增加、删除、修改
从Internet上抓取指定URL的源码的方案(C#)
对C#中正则表达式的一些解读和总结
简述c#中对字符串进行分割的几种方法
ASP.NET中的事务处理和异常处理
用ASP.NET/C#连接Access和SQL Server数据库
ASP.NET 2.0中层次数据的处理
ASP.NET 2.0服务器控件之客户端功能
asp.net2.0 URL重写以及urlMappings问题(1)
asp.net2.0 URL重写以及urlMappings问题(2)
再议ASP.NET DataGrid控件中的“添加新行”功能
建立个人知识引擎的重要性
解析.Net框架下的XML编程技术
ASP.NET--制作功能完善的安装程序
Asp.net直接保存文件到客户端
.Net中消除Dll中的dependency
ASP.NET页面事件:顺序与回传详解
在ASP.NET+ORACLE添加数据记录并让ID自动增量

ASP.NET 中的 在Window2003上执行System.Diagnostics.Process.GetProcessesByName等方法失败的原因


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 195 ::
收藏到网摘: n/a

在Windows2003上执行 System.Diagnostics.Process.GetProcessesByName等方法会报出Exception:
Couldn't get process information from remote machine.

这个错误的原因是: 获取Process与Performance Counter相关, 当前的执行用户不是Administrator 组成员
MSDN的解释:1.Performance information is not available to a non-admin account, which is not in the Performance Counter Users Group on Windows Server 2003. So the Process class could not get process performance information in this case.

2.Getting performance data from all the processes on the machine is pretty expensive. The operating system (OS) might load lots of DLLs and it might take seconds to complete. The floppy drive light will be on when the OS tries to find the index for some performance counter.
3.f the performance counter data was corrupted for any reason, the Process class could throw an exception while trying to convert some raw performance information into DateTime.

4.The Process class could not be used to get process information on machines without the process performance counter. Performance counters can be disabled in Windows. See the following link for details: http://www.microsoft.com/windows2000/techinfo/reskit/en-us/default.asp?url=/windows2000/techinfo/ reskit/en-us/regentry/94214.asp

The good news is that we have changed the implementation of the Process class in Visual Studio 2005 (our next release, code-named Whidbey). The Process class doesn't have a dependency on performance counter information any more (this is only true for local processes).

相关链接:
http://msdn.microsoft.com/netframework/programming/bcl/faq/SystemDiagnosticsProcessFAQ.aspx