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

时间:2017-01-25 09:22:58

标签: c# botframework

[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的

。它会引发异常

  

数据已更改。

context.MakeMessage()和Activity不一样。

一些帮助?

1 个答案:

答案 0 :(得分:1)

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

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

检查thisMultiDialogs示例以获取更多信息。

如果您想传递相同的活动,那么可能需要context.Forward