1

我想从 MessagesController 类之外调用一个 LUIS 对话框。我在 MessageController 类中创建了一个根对话框:

 if (activity.Type == ActivityTypes.Message) {
 await Conversation.SendAsync(activity, () => new MessageDialogHandler());

在我的 MessageDialogHandler 类中,我正在处理附件和文本输入。

if (activity.Attachments?.Count() > 0) {
            FaceAnalysis faceAnalysis = new FaceAnalysis();
            await faceAnalysis.AnalyseImageAsync(context, argument);
        }
else if(activity.Text.Length > 0) {
//here needs to be the code to call a LUIS dialog.
}

我有一个标准的 LUIS 课程:

[LuisModel("App-ID", "SubscriptionKey")]
[Serializable]

public class LuisDialog : LuisDialog<object> {

如何从我的 MessageDialogHandler 类中调用该 LUIS 对话框?是的,我确实阅读了这篇文章链接,但它对我没有帮助。

感谢您的任何想法。

4

1 回答 1

1

你只需要做一个 context.Forward 消息到 LuisDialog。

await context.Forward(
      new LuisDialog(), 
      LuisDialogCompleted, 
      activity, 
      System.Threading.CancellationToken.None);

要了解有关如何调用对话框的更多信息,请参阅

于 2016-12-07T09:40:20.337 回答