2017-02-19 93 views
0

Hy,是否有任何选项可以在Luis-Match功能中创建第二个FormDialog。 我LUIS例如找到一个或更多的饮料,如:呼叫来自Botbuilder环路中的FormDialog

  • 我需要一个[水]。

  • 我需要[茶]和[可乐]。

如果有多个实体,我会要求每个实体的附加信息。

[LuisIntent("Drinks")] 
public async Task Bestellung(IDialogContext context, LuisResult result) 
{ 
    entities1 = ... // entities for first drink 
    entities2 = ... // entities for second drink 

    orderForm1 = new FormDialog<Drink>(new Drink(), formFunction, FormOptions.PromptInStart, entities1); 
    await context.Forward(orderForm1, afterFormFunction); 
    orderForm2 = new FormDialog<Drink>(new Drink(), formFunction, FormOptions.PromptInStart, entities2); 
    await context.Forward(orderForm2, afterFormFunction); 
} 

我得到一个例外: “无效的需求:预计呼叫,已投票”

哪里是我的错吗?感谢帮助!

+0

我的意思是context.Call!对不起,我的错。但答案是一样的。 – Robert

回答

1

对第二个窗体对话框的调用必须在afterFormFunction​​方法中完成,而不是在第一个context.Forward之后完成。

第一个窗体对话框结束后,执行继续执行afterFormFunction