Share via


DialogContext.EndDialogAsync(Object, CancellationToken) 方法

定义

通过将对话从堆栈中弹出来结束对话,并将可选结果返回给对话框的父级。 父对话是通过调用 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 返回值。

适用于

另请参阅