2015-07-13 196 views
1

我有一个运行.bat文件的WCF服务。它适用于我的本地系统,但我在服务器上运行时遇到问题(Windows Server 2012 R2)。如何使用IIS用户的环境变量

我已经定义了ANT_HOME变量到服务器的环境变量,并且我添加了%ANT_HOME%\binPath变量。

当我写“ant”CMD在它的服务器上工作!但是当我从某个地方拨打wcf服务时,它不起作用。

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

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

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

我迄今为止尝试:

  • 身份冒充
  • 充分允许IIS用户
+0

您是否编辑过PATH系统环境变量的PATH用户环境变量?你重新启动Windows,所以它拿起修改后的PATH? –

回答

0

您运行的是什么版本的IIS的?如果您正在运行的版本可以为您的服务创建单独的Application Pool,则请执行此操作,并为此应用程序池提供具有正确PATH或为该用户定义ANT_HOME的标识。我总是喜欢在我的所有服务中添加Ping类型的方法,这样我就可以询问服务的运行方式以及它在哪里运行。这对于故障排除和测试WCF服务非常有用。