System.Diagnostics.Process.Start无法在IIS中运行

Bre*_*ead 17 asp.net iis

当我System.Diagnostics.Process.Start从我的控制台应用程序运行它可以工作,但当我从我在IIS中托管的Web服务运行时相同的代码不起作用.

是否与ASP.Net特权有关?如果是,我如何从我的C#代码配置它.

Tim*_*ter 16

ASP.NET网页和服务器控制代码在Web服务器上的ASP.NET辅助进程的上下文中执行.如果在ASP.NET网页或服务器控件中使用Start方法,则新进程将在具有受限权限的Web服务器上执行.该过程不会在与客户端浏览器相同的上下文中启动,也无法访问用户桌面. http://msdn.microsoft.com/en-us/library/0w4h05yb.aspx

- 授予ASP.NET工作进程帐户的权限

与桌面交互或允许ASP.NET辅助进程在SYSTEM帐户中运行.

- 启用IIS Admin Service与桌面交互

要配置此,请按照以下步骤操作.

  • 一个.打开控制面板并按照下列步骤操作:对于Windows NT:单击"服务".对于Windows 2000,Windows XP和.NET Server:单击"管理工具",然后单击"服务".

  • 湾 双击IIS Admin Service.

  • C.在"登录"选项卡上,选中"允许服务与桌面交互"复选框.请记住将IIS Admin Service作为本地系统运行.
  • d.停止并重新启动IIS Admin Service.

  • _新进程在具有受限权限的 Web 服务器上执行_确定。但在哪个帐户下?“限制”一词代表什么? (2认同)

Rav*_*Ram 9

更改应用程序池对我有用。

  1. IIS > 应用程序池
  2. 选择网站的高级设置
  3. 将身份更改为 LocalSystem
  4. 重新启动 IIS

在此输入图像描述

  • 重新启动 IIS CMD > iisreset /noforce (3认同)