我需要提示用户做出选择,并将所选值保留在变量中,并在会话结束时使用它。
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;
但结果仍然没有存储值。
答案 0 :(得分:1)
删除context.Wait(this.MessageReceivedAsync);
context.Call
行
context.Call
正在启动一个新对话框(PromptChoice
),因此您无法同时执行这两个操作(启动新对话框并在当前对话框中等待)