Share via


DialogTask 类

定义

对话任务是

  1. 单个 IDialogStack 帧堆栈 IDialog ,等待下一个 IActivity
  2. IEventProducer<Event>满足这些等待所需的活动事件队列
  3. IEventLoop 满足等待条件后执行该对话代码的循环
public sealed class DialogTask : Microsoft.Bot.Builder.Base.IEventProducer<Microsoft.Bot.Connector.IActivity>, Microsoft.Bot.Builder.Dialogs.Internals.IDialogTask
type DialogTask = class
    interface IDialogTask
    interface IDialogStack
    interface IEventLoop
    interface IEventProducer<IActivity>
Public NotInheritable Class DialogTask
Implements IDialogTask, IEventProducer(Of IActivity)
继承
DialogTask
实现

构造函数

DialogTask(Func<CancellationToken,IDialogContext>, IStore<IFiberLoop<DialogTask>>, IEventProducer<IActivity>)

对话任务是

  1. 单个 IDialogStack 帧堆栈 IDialog ,等待下一个 IActivity
  2. IEventProducer<Event>满足这些等待所需的活动事件队列
  3. IEventLoop 满足等待条件后执行该对话代码的循环

显式接口实现

IDialogStack.Call<R>(IDialog<R>, ResumeAfter<R>)

对话任务是

  1. 单个 IDialogStack 帧堆栈 IDialog ,等待下一个 IActivity
  2. IEventProducer<Event>满足这些等待所需的活动事件队列
  3. IEventLoop 满足等待条件后执行该对话代码的循环
IDialogStack.Done<R>(R)

对话任务是

  1. 单个 IDialogStack 帧堆栈 IDialog ,等待下一个 IActivity
  2. IEventProducer<Event>满足这些等待所需的活动事件队列
  3. IEventLoop 满足等待条件后执行该对话代码的循环
IDialogStack.Fail(Exception)

对话任务是

  1. 单个 IDialogStack 帧堆栈 IDialog ,等待下一个 IActivity
  2. IEventProducer<Event>满足这些等待所需的活动事件队列
  3. IEventLoop 满足等待条件后执行该对话代码的循环
IDialogStack.Forward<R,T>(IDialog<R>, ResumeAfter<R>, T, CancellationToken)

对话任务是

  1. 单个 IDialogStack 帧堆栈 IDialog ,等待下一个 IActivity
  2. IEventProducer<Event>满足这些等待所需的活动事件队列
  3. IEventLoop 满足等待条件后执行该对话代码的循环
IDialogStack.Frames

对话任务是

  1. 单个 IDialogStack 帧堆栈 IDialog ,等待下一个 IActivity
  2. IEventProducer<Event>满足这些等待所需的活动事件队列
  3. IEventLoop 满足等待条件后执行该对话代码的循环
IDialogStack.Post<E>(E, ResumeAfter<E>)

对话任务是

  1. 单个 IDialogStack 帧堆栈 IDialog ,等待下一个 IActivity
  2. IEventProducer<Event>满足这些等待所需的活动事件队列
  3. IEventLoop 满足等待条件后执行该对话代码的循环
IDialogStack.Reset()

对话任务是

  1. 单个 IDialogStack 帧堆栈 IDialog ,等待下一个 IActivity
  2. IEventProducer<Event>满足这些等待所需的活动事件队列
  3. IEventLoop 满足等待条件后执行该对话代码的循环
IDialogStack.Wait<R>(ResumeAfter<R>)

对话任务是

  1. 单个 IDialogStack 帧堆栈 IDialog ,等待下一个 IActivity
  2. IEventProducer<Event>满足这些等待所需的活动事件队列
  3. IEventLoop 满足等待条件后执行该对话代码的循环
IEventLoop.PollAsync(CancellationToken)

对话任务是

  1. 单个 IDialogStack 帧堆栈 IDialog ,等待下一个 IActivity
  2. IEventProducer<Event>满足这些等待所需的活动事件队列
  3. IEventLoop 满足等待条件后执行该对话代码的循环
IEventProducer<IActivity>.Post(IActivity, Action)

对话任务是

  1. 单个 IDialogStack 帧堆栈 IDialog ,等待下一个 IActivity
  2. IEventProducer<Event>满足这些等待所需的活动事件队列
  3. IEventLoop 满足等待条件后执行该对话代码的循环

扩展方法

Forward<R>(IDialogStack, IDialog<R>, ResumeAfter<R>, IMessageActivity, CancellationToken)

调用子对话,将其添加到堆栈顶部,并将消息发布到子对话。

Wait(IDialogStack, ResumeAfter<IMessageActivity>)

暂停当前对话框,直到用户向机器人发送消息。

InterruptAsync<T,R>(IDialogTask, IDialog<T>, R, CancellationToken)

使用新对话中断等待的对话

适用于