Waterfall Dialog 不断调用自己 - 我该如何停止它?

Waterfall Dialog keeps calling itself - how can I stop it?

我正在使用机器人框架编写器构建一个聊天机器人,并使用自定义操作对其进行扩展。这些自定义操作主要是瀑布对话框,到目前为止它们工作得非常好。现在我遇到的问题是,即使我调用 stepContext.EndDialogAsync() 或 stepContext.CancelAllDialogs(),其中一个对话框也不会结束。查看调用堆栈和 stepContext.Parent 我无法找出问题所在。我什至尝试了 stepContext.Parent.EndDialogAsync() 并且它仍然跳回到第一个瀑布步骤。我想跳回作曲家生成的自适应对话,所以我不能使用 BeginDialogAsync()。

有没有办法从字面上“杀死”对话框?或者有人知道如何处理这个问题吗?如果需要,我可以提供一些代码。

提前致谢!

试试这个,在 NextSteps 编写器对话框中,将 'Always prompt' 设置为 true:

这将使 stepContext.EndDialogAsync 能够按照最后一个瀑布步骤的预期工作。

return await stepContext.EndDialogAsync(cancellationToken: cancellationToken);