【发布时间】:2010-07-30 12:47:22
【问题描述】:
我有一个 asp.net 简单页面,单击按钮时我正在尝试启动一个进程(.net 控制台应用程序),但我遇到拒绝访问异常.. 如果该过程是简单的 Windows 应用程序,如 notepad.exe,或任何其他“非 .net 程序集”,则代码可以工作......
仅当我从 IIS 运行代码时才会出现问题,但从 Visual Studio 中它可以工作。
【问题讨论】:
我有一个 asp.net 简单页面,单击按钮时我正在尝试启动一个进程(.net 控制台应用程序),但我遇到拒绝访问异常.. 如果该过程是简单的 Windows 应用程序,如 notepad.exe,或任何其他“非 .net 程序集”,则代码可以工作......
仅当我从 IIS 运行代码时才会出现问题,但从 Visual Studio 中它可以工作。
【问题讨论】:
.net 控制台应用程序位于何处?
“拒绝访问”消息表明它可能位于运行应用程序池的用户无权访问的位置。
如果您运行 Internet 信息服务管理器(从控制面板 > 管理工具)并导航到窗口左侧树视图中的 Internet Information Services > MACHINE NAME (local computer) > Application Pools,您将看到应用程序列表池(IIS 用来运行您的网站的进程)。那么:
DefaultAppPool)并选择属性该窗口将告诉您网站正在以哪个用户身份运行,您需要确保该用户对您的控制台应用程序具有权限,或者将用户更改为已经拥有权限的用户。
【讨论】: