为了账号安全,请及时绑定邮箱和手机立即绑定

Win32Exception (0x80004005): 拒绝访问

Win32Exception (0x80004005): 拒绝访问

收到一只叮咚 2018-12-07 09:11:44
下面是堆栈: [Win32Exception (0x80004005): 拒绝访问。] System.Diagnostics.Process.GetProcessHandle(Int32 access, Boolean throwIfExited) +1985316 System.Diagnostics.Process.Kill() +49 ApricotCMS.Controllers.ImportController.Kill(_Application excel) +144 ApricotCMS.Controllers.ImportController.Family(HttpPostedFileBase file) +27340 lambda_method(Closure , ControllerBase , Object[] ) +127 System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +264 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +39 System.Web.Mvc.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12() +129 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) +826266 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +314 System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +825488 System.Web.Mvc.Controller.ExecuteCore() +159 System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +335 System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__5() +62 System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +20 System.Web.Mvc.<>c__DisplayClasse.<EndProcessRequest>b__d() +54 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +469 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +375下面是代码(IIS7.5+windows server 2008 r2): 1 System.Diagnostics.Process[] procList = System.Diagnostics.Process.GetProcesses(); 2 IntPtr t = new IntPtr(excel.Hwnd); //得到这个句柄,具体作用是得到这块内存入口 3 4 int k = 0; 5 GetWindowThreadProcessId(t, out k); //得到本进程唯一标志k 6 foreach (System.Diagnostics.Process proc in procList) 7 { 8 if (k == proc.Id) 9 { 10 proc.Kill(); 11 } 12 } 求帮忙。。。到底是什么权限限制了?百度谷歌基本上翻遍了,还没解决!!!这问题弄了两天了!!!到底该怎么解决。。。 如果问题解决了可以追加分数
查看完整描述

7 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞

看日志是从 HttpApplication.ExecuteStep IIS中调用的,IIS的运行账号一般是Network service,因此不具有杀进程的权限, 你可以使用管理员运行IIS,看看,然后特别处理

查看完整回答
反对 回复 2019-01-21
?
米脂

TA贡献1836条经验 获得超3个赞

IIS是用管理员账户运行的,请问这个特别处理是如何特别处理法呢?

查看完整回答
反对 回复 2019-01-21
?
慕斯709654

TA贡献1840条经验 获得超5个赞

检查一下当前站点的应用程序池所用的帐户是否具有相应的权限。

查看完整回答
反对 回复 2019-01-21
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

可以参照dudu的意见,将Identity设置为最高权限用户,也可自定义一个用户,如图:

查看完整回答
反对 回复 2019-01-21
?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

将Identity设置为最高权限用户 可行 非常感谢

查看完整回答
反对 回复 2019-01-21
?
冉冉说

TA贡献1877条经验 获得超1个赞

怎样将Identity设置为最高权限用户?能否具体一点,谢谢.

查看完整回答
反对 回复 2019-01-21
  • 7 回答
  • 0 关注
  • 1400 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信