情况:我有一个mvc.net网页,在调用时,使用System.Diagnostics.Process.Start和cmd.exe在我的服务器上运行批处理文件。批处理文件包含一行运行“svn.exe update myfilepath”,因此应该更新服务器上的文件。
发生了什么事? - 批处理文件正在运行,但对svn.exe的调用不执行任何操作,也不会生成任何错误消息。 - 如果我通过双击运行批处理文件,则svn命令已成功运行。
我想这是一个安全问题,但我不是这方面的专家,我无法取得任何进展。
该站点托管在Windows Server 2008 R2上,而应用程序池正在使用ApplicationPoolIdentity系统。我已尝试将应用程序池作为网络服务运行,并将网络服务添加为可以读取/执行到svn.exe的用户。
请帮忙!
答案 0 :(得分:0)
这可能与代理相关。您可以通过代理访问Internet,但应用程序池标识的用户配置文件不是这样配置的。您可能需要使用可以登录的域帐户,以便创建合适的用户配置文件。您还需要通过勾选相应的选项来确保IIS正在加载配置文件。
(另一种可能性是,您启动的流程的工作目录未正确设置到Subversion工作副本的根目录。我们已经确定这不是您的问题所在。)< / p>