風之力

导航

C#中System.Diagnostics.Process.GetProcessesByName(String processName)时报错的处理方法

有时候我们在用EXCEL处理数据时,在最后杀EXCEL进程时,使用System.Diagnostics.Process.GetProcessesByName(String processName)方法会报错,

存取被拒。

描述: 在執行目前 Web 要求的過程中發生未處理的例外情形。請檢閱堆疊追蹤以取得錯誤的詳細資訊,以及在程式碼中產生的位置。

例外詳細資訊: System.ComponentModel.Win32Exception: 存取被拒。

原始程式錯誤:

在執行目前 Web 要求期間,產生無法處理的例外狀況。如需有關例外狀況來源與位置的資訊,可以使用下列的例外狀況堆疊追蹤取得。

堆疊追蹤:

[Win32Exception (0x80004005): 存取被拒。]
            System.Diagnostics.PerformanceMonitor.GetData(String item) +485
            System.Diagnostics.PerformanceCounterLib.GetPerformanceData(String item) +158
            System.Diagnostics.PerformanceCounterLib.get_CategoryTable() +80
            System.Diagnostics.PerformanceCounterLib.GetPerformanceData(String[] categories, Int32[] categoryIndexes) +56
            System.Diagnostics.NtProcessManager.GetProcessInfos(PerformanceCounterLib library) +157
            [InvalidOperationException: 無法從遠端電腦取得處理序資訊。]
            System.Diagnostics.NtProcessManager.GetProcessInfos(PerformanceCounterLib library) +258
            System.Diagnostics.NtProcessManager.GetProcessInfos(String machineName, Boolean isRemoteMachine) +153
            System.Diagnostics.ProcessManager.GetProcessInfos(String machineName) +37
            System.Diagnostics.Process.GetProcessesByName(String processName, String machineName) +69
            System.Diagnostics.Process.GetProcessesByName(String processName) +11
            SchedulingWL.DPS.DataMaintainAV.showExcel1() in d:\web\wl_scheduling\dps\datamaintainav.aspx.cs:676
            SchedulingWL.DPS.DataMaintainAV.btnExcel_Click(Object sender, ImageClickEventArgs e) in d:\web\wl_scheduling\dps\datamaintainav.aspx.cs:535
            System.Web.UI.WebControls.ImageButton.OnClick(ImageClickEventArgs e) +109
            System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +69
            System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
            System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
            System.Web.UI.Page.ProcessRequestMain() +1292
            

处理方法:
1.在WEBCONFIG中使用
<identity impersonate="true" userName="User" password="ABCDE"/>
放在<system.web>标签中
2.或者将ASP.NET设为管理员权限(IIS5及以下),或者NETWORKSERVICE(IIS6)

版本資訊: Microsoft .NET Framework 版本:1.1.4322.2300; ASP.NET 版本:1.1.4322.2300

posted on 2007-08-29 16:57  ZY.Zhou  阅读(7998)  评论(1编辑  收藏  举报