如何在Microsoft Bot Framework中使用全局命令?

May*_*ank 1 c# botframework

我已经阅读了一些我们可以IScorable.cs用来实现全局可用命令的地方,例如在聊天流程中的任何地方输入"设置"以打开设置对话框.但似乎没有关于如何使用它的文档.

请帮忙.

Eze*_*dib 5

你是对的,IScorable.cs如果你想在BotFramework中拥有全局命令,那么实现就是你要走的路.

有一个IScorable它基本上是一个两步程序:

  1. 写下您的IScorable
  2. 在BotFramework的Autofac容器中注册您的IScorable

BotFramework将经历所有第IScorables一次,看看他们中的任何一个是否"获胜"(如果他们将做某事或不做),如果没有人处理该消息; 然后它将继续将消息分派给对话框.

关于如何写你的IScorable,最好的方法是看一些例子:

关于如何注册IScorable,我会建议你做一些像在下面Global.asax.cs,Application_Start方法:

var builder = new ContainerBuilder();

builder.RegisterType<SettingsScorable>()
    .As<IScorable<IActivity, double>>()
    .InstancePerLifetimeScope();

builder.Update(Conversation.Container);
Run Code Online (Sandbox Code Playgroud)

这显示了如何SettingsScorableAutofac容器中注册ContosoFlowers .