C# bot框架中的PromptChoice显示';尝试次数太多';例外
我需要提示用户做出选择,并将选择的值保存在变量中,并在会话结束时使用它C# bot框架中的PromptChoice显示';尝试次数太多';例外,c#,botframework,chatbot,C#,Botframework,Chatbot,我需要提示用户做出选择,并将选择的值保存在变量中,并在会话结束时使用它 var dialog = new PromptDialog.PromptChoice<string>( new string[] {"A new request", "Current Request" }, "Which one would you like?", "Sorry, that wans't a valid option", 1); context.Call(d
var dialog = new PromptDialog.PromptChoice<string>(
new string[] {"A new request", "Current Request" },
"Which one would you like?",
"Sorry, that wans't a valid option", 1);
context.Call(dialog, ChoiceReceivedAsync);
context.Wait(this.MessageReceivedAsync);
}
private async Task ChoiceReceivedAsync(IDialogContext context, IAwaitable<object> result)
{
context.Wait(MessageReceivedAsync1);
return;
}
但是仍然结果不存储值。删除
上下文。等待(this.MessageReceivedAsync)代码>上下文后面的行。调用
context.Call
正在启动一个新对话框(PromptChoice
),因此您无法同时执行这两项操作(启动一个新对话框并在当前对话框中等待)寻求书籍/教程推荐的问题因堆栈溢出而脱离主题。要求我们推荐或查找书籍、工具、软件库的问题,教程或其他非站点资源对于堆栈溢出来说是非主题的,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决问题所做的工作。我建议您阅读“我已经删除了选项PromptChoice,而我只是编写了PromptDialog.Choice”而没有“调用”,代码是可行的,但仍然会收到“ToomanyAttents”消息。这与执行上下文调用完全相同(幕后正在这样做). 从调用Choice的方法中删除context.Wait调用
var UserChose = await result;