当我从我的控制台应用程序运行System.Diagnostics.Process.Start时,它的工作原理是相同的代码,当我从IIS中托管的Web服务运行不起作用.
有什么事情要做ASP.Net的权限?如果是,我如何配置它从我的C#代码.
解决方法
ASP.NET网页和服务器控件代码在Web服务器上的ASP.NET工作进程的上下文中执行.如果在ASP.NET网页或服务器控件中使用Start方法,则新进程将在受限权限的Web服务器上执行.该进程不会在与客户端浏览器相同的上下文中启动,并且无法访问用户桌面.
http://msdn.microsoft.com/en-us/library/0w4h05yb.aspx
http://msdn.microsoft.com/en-us/library/0w4h05yb.aspx
– 为ASP.NET工作进程帐户授予权限
与桌面交互或允许ASP.NET工作进程在SYSTEM帐户中运行.
>了解如何允许工作进程在SYSTEM帐户中运行
并了解ASPNET帐户的默认权限,请查看本文
INFO:ASP.NET中的进程和请求身份:http://support.microsoft.com/default.aspx?scid=kb;en-us;317012
– 启用IIS管理服务与桌面交互
要进行配置,请按照以下步骤操作.
> a.打开控制面板并按照下列步骤操作:对于Windows NT:单击服务.对于Windows 2000,Windows XP和.NET Server:单击管理工具,然后单击服务.> b.双击IIS管理服务.> c.在“登录”选项卡上,选中“允许与桌面交互的服务”复选框.记住要作为本地系统运行IIS管理服务.> d.停止并重新启动IIS管理服务.