0

嗨,有没有任何选项可以在 Luis-Match 函数中创建第二个 FormDialog。我的 LUIS 实例找到一种或多种饮料,例如:

  • 我需要一个[水]。

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

如果有多个实体,我会要求每个实体提供额外信息。

[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);
}

我得到一个例外:“无效的需要:预期的呼叫,有轮询”

我的错在哪里?感谢帮助!

4

1 回答 1

1

对第二个表单对话框的调用必须在afterFormFunction ResumeAfter<T>方法中完成,而不是在第一个对话框之后context.Forward

第一个表单对话框结束后,在afterFormFunction.

于 2017-02-20T11:15:53.547 回答