2016-12-07 12 views
1

MessagesControllerクラスの外からLUISダイアログを呼び出したいとします。私は私のMessageControllerクラスでルートダイアログを作成します。私のMessageDialogHandlerクラスでMessagesControllerクラスの外でLUISダイアログを呼び出す方法

if (activity.Type == ActivityTypes.Message) { 
await Conversation.SendAsync(activity,() => new 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ダイアログを呼び出すために管理していますか? はい、私はこのポストLinkを読んだが、それは私を助けなかった。

ありがとうございます。

答えて

1

あなたはコンテキストを実行するだけです。メッセージをLuisDialogに転送してください。

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

ダイアログを呼び出す方法の詳細については、thisを参照してください。

+0

ありがとう、これは、素晴らしいです! – Soeren

+0

驚くべきことに、質問に回答してください –

関連する問題