如何使用相同的 activity 调用另一个对话框?

How to call another dialog using same activity?

[LuisIntent("test-intent")]
        public async Task test(IDialogContext context, IAwaitable<IMessageActivity> argument, LuisResult result)
        {
            await Conversation.SendAsync(context.MakeMessage(), () => SimpleFacebookAuthDialog.dialog);
        }

我试过了。但是当我尝试发送简单的字符串消息时出现问题

await context.PostAsync("msg");

来自 SimpleFacebookAuthDialog。它抛出异常

The data is changed.

context.MakeMessage() 和 Activity 不一样。

有帮助吗?

尝试使用 context.Callcontext.Forward 来启动子对话框,而不是

 await Conversation.SendAsync(context.MakeMessage(), () => SimpleFacebookAuthDialog.dialog);

查看 and the MultiDialogs 示例以获取更多信息。

如果你想通过相同的 activity,那么可能 context.Forward 是正确的选择。