我有一个要求,根据某些条件,我需要调用普通对话框或LuisDialog
,我无法实现相同的目标。
if(condition == 1)
return await Conversation.SendAsync(message, () => new SampleLuisDialog());
else
return await Conversation.SendAsync(message, () => new SimpleIDialog());
问题是:
当它满足第二个条件时,它执行SimpleIDialog
内的逻辑。当它满足第一个条件而不是进入SampleLuisDialog
时,它再次进入startAsync
的{{1}}。
我在这里做错了什么?
答案 0 :(得分:1)
在您第一次调用Dialog时,您必须在某个时刻调用Context.Done。在此之前,用户已经被困住了#34;在那个对话中。
所以在你开始另一个Dialog之前,你必须"关闭"第一个叫做Dialog。