我正在使用 IActivityLogger 來記錄機(jī)器人和用戶之間的對話。這里記錄器正在記錄除 PromptDialog.Choice() 生成的文本之外的所有消息我已經(jīng)測試了 PromptDialog 的其他方法,例如PromptDialog.Confirm()PromptDialog .Text()這些正在工作,我的意思是正在記錄來自這些方法的文本,只有 PromptDialog.Choice 文本沒有擊中 IActivityLogger。記錄器public class Logger : IActivityLogger { public async Task LogAsync(IActivity activity) { Debug.WriteLine(activity.AsMessageActivity()?.Text); } }RootDialog.cspublic 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 類。
IActivityLogger 不記錄 PromptDialog.Choice 文本
慕桂英3389331
2021-08-07 15:49:06