机器人框架中的 PromptChoice 显示 'too many attempts' 异常
PromptChoice in bot framework displays 'too many attempts' exception
我需要提示用户做出选择并将选择的值保存在变量中并在对话会话结束时使用它。
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;
}
以上代码显示了选项,但给出了太多尝试异常。我还在 MessageReceivedAsync1
中使用了以下代码
var UserChose = await result;
但结果仍然没有存储值。
删除 context.Call
之后的 context.Wait(this.MessageReceivedAsync);
行
context.Call
正在启动一个新对话框 (PromptChoice
),因此您不能同时执行这两项操作(启动一个新对话框并在当前对话框中等待)
我需要提示用户做出选择并将选择的值保存在变量中并在对话会话结束时使用它。
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;
}
以上代码显示了选项,但给出了太多尝试异常。我还在 MessageReceivedAsync1
中使用了以下代码var UserChose = await result;
但结果仍然没有存储值。
删除 context.Call
context.Wait(this.MessageReceivedAsync);
行
context.Call
正在启动一个新对话框 (PromptChoice
),因此您不能同时执行这两项操作(启动一个新对话框并在当前对话框中等待)