【发布时间】:2011-05-24 16:17:06
【问题描述】:
我正在尝试执行从 .cmd 批处理文件调用的第 3 方应用程序,从自托管的 WCF 服务调用。像这样:
WCF --> .cmd --> 3rd 方应用
无论出于何种原因,使用 Shell 命令都不能完全正常工作。它将调用 .cmd 文件,但第 3 方应用程序不会启动(我知道 .cmd 正在触发,因为我在 ECHO 语句之前/之后填充了一个日志文件)。如果我从资源管理器中双击 .cmd 文件,第 3 方应用程序将正常启动。所以,我想,也许可以试试我的 WCF 服务中的 Shell 命令之外的其他东西。
所以我尝试了以下代码,但它根本不会启动 .cmd 文件(回显语句未触发)。我在这里错过了什么?
Dim psi As New ProcessStartInfo("cmd.exe", "/C " & System.Configuration.ConfigurationManager.AppSettings("ExStream_CMD_File_Path"))
Dim proc As New Process()
proc.StartInfo = psi
proc.Start()
proc.WaitForExit()
app.config 文件中的路径有效(只需仔细检查)。上面的代码有什么问题吗?
谢谢, 杰森
【问题讨论】:
-
你怎么知道它不启动。
-
如帖子中所说,回显语句没有写入日志文件。
-
所以 before 语句被触发但不是 after