DialogContext.EndDialogAsync(Object, CancellationToken) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
通过将对话从堆栈中弹出来结束对话,并将可选结果返回给对话框的父级。 父对话是通过调用 BeginDialogAsync(String, Object, CancellationToken) 或 PromptAsync(String, PromptOptions, CancellationToken)结束时启动的对话。 父对话将使用返回的任何结果调用其 ResumeDialogAsync(DialogContext, DialogReason, Object, CancellationToken) 方法。 如果父对话尚未实现 ResumeDialogAsync
方法,则它也会自动结束,并将结果传递给其父对话。
如果堆栈上没有更多的父对话,则轮次的处理将结束。
public System.Threading.Tasks.Task<Microsoft.Bot.Builder.Dialogs.DialogTurnResult> EndDialogAsync (object result = default, System.Threading.CancellationToken cancellationToken = default);
member this.EndDialogAsync : obj * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Bot.Builder.Dialogs.DialogTurnResult>
Public Function EndDialogAsync (Optional result As Object = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of DialogTurnResult)
参数
- result
- Object
可选,要传递到父上下文的结果。
- cancellationToken
- CancellationToken
可由其他对象或线程用以接收取消通知的取消标记。
返回
一个任务,表示排队要执行的工作。
注解
如果任务成功,则结果指示对话在对话处理轮次后结束。
通常,父上下文是启动对话的对话或机器人轮次处理程序。 如果父级是对话,则堆栈会调用父级的 ResumeDialogAsync(DialogContext, DialogReason, Object, CancellationToken) 方法,以将结果返回给父对话。 如果父对话未实现“ResumeDialogAsync”,则父对话也将结束,结果将传递到下一个父上下文。
返回的 DialogTurnResult 在其 属性中包含 Result 返回值。