下面是在机器人框架模拟器中运行的 Azure SDK 机器人的示例意图。机器人通过返回字符串类型响应来识别我的意图。这只是给bot做的准备,当它识别到我的意图时,它应该运行CMD程序并在系统中执行命令,在CMD中执行命令并完成之后,它会返回一个响应,即命令已执行....但是,正如您在下面看到的,不幸的是,这不起作用。相反,机器人会立即返回所有响应,而无需等待并在 CMD 中运行命令。
case WebAppBotTester.Intent.TestPageOne:
var getSearchActionText = "Redirecting to the Action and run CMD, wait...";
var getSearchActionMessage = MessageFactory.Text(getSearchActionText, getSearchActionText, InputHints.IgnoringInput);
await stepContext.Context.SendActivityAsync(getSearchActionMessage, cancellationToken);
string command = @"cd ..\\..& cd tests & npx [MAKE ACTION..]";
ProcessStartInfo cmdsi = new ProcessStartInfo("cmd.exe");
cmdsi.Arguments = command;
Process cmd = Process.Start(cmdsi);
cmd.WaitForExit();
var getresultActionText = "The result is ready!";
var getresultActionMessage = MessageFactory.Text(getresultActionText , getresultActionText, InputHints.IgnoringInput);
await stepContext.Context.SendActivityAsync(getresultActionMessage, cancellationToken);
break;
我究竟做错了什么 ?