如何使用环境变量与IIS用户



我有一个运行.bat文件的WCF服务。它在我的本地系统上工作,但在服务器(Windows server 2012 r2)上运行它有一个问题。

我已经将ANT_HOME变量定义为服务器的环境变量,并将%ANT_HOME%bin添加到Path变量。

当我在服务器上写"ant"到CMD时,它可以工作!但是当我从某处调用wcf服务时,它不起作用。

我在日志文件中发现了以下错误:

'ant' is not recognized as an internal or external command,
operable program or batch file.

根据这个日志,我理解IIS用户不能使用已经定义的ANT_HOME变量。

我已经试过了:

  • 身份冒充
  • 给予IIS用户完全权限

您使用的是什么版本的IIS ?如果你正在运行一个版本,你可以为你的服务创建一个单独的应用程序池,那么就这样做,并给这个应用程序池一个具有正确的PATH或为该用户定义ANT_HOME的标识。我总是喜欢在我的所有服务中添加一个Ping类型的方法,这样我就可以询问服务它以谁的身份运行以及它在哪里运行。

最新更新