IActivityLogger 不记录 PromptDialog.Choice 文本

我正在使用 IActivityLogger 来记录机器人和用户之间的对话。这里记录器正在记录除 PromptDialog.Choice() 生成的文本之外的所有消息


我已经测试了 PromptDialog 的其他方法,例如


PromptDialog.Confirm()

PromptDialog .Text()

这些正在工作,我的意思是正在记录来自这些方法的文本,只有 PromptDialog.Choice 文本没有击中 IActivityLogger。


记录器


public class Logger : IActivityLogger

    {

        public async Task LogAsync(IActivity activity)

        {

            Debug.WriteLine(activity.AsMessageActivity()?.Text);

        }

    }

RootDialog.cs


public async Task StartAsync(IDialogContext context)

        {

            string[] choices = new string[]{ "choice 1" , "choice 2"};

            PromptDialog.Choice(context, resumeAfterPrompt, choices, "please choose an option.");

        }


        private async Task resumeAfterPrompt(IDialogContext context, IAwaitable<object> result)

        {

            await context.PostAsync((await result).ToString());

            context.Done<object>(null);

        }

除了来自 RootDialog 的 PromptDialog.Choice() 之外,所有其他的来往消息都通过 Logger 类。


慕桂英3389331
浏览 161回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP