机器人状态混乱了。对话框无法正常工作。 [SDK V3]

时间:2019-03-30 14:23:25

标签: botframework direct-line-botframework

我正在使用SDK V3版本3.15.3。在我的机器人中,我正在使用对话框模拟对话流程。但是,不是单击context.wait()中提到的回调函数,而是单击Message.Controller之后,该控件将转到我的根对话框中的StartAsync函数,因此,整个对话框流程从头开始,而不是继续到回调中提到的用于context.wait()的函数。这种行为也是非常随机的,因为在少数情况下(特别是在本地调试时),该机器人会按预期方式运行。

我曾尝试降级到3.13版,但即使这样也不起作用

这些是我正在Application_Start()中进行的注册

var store = new InMemoryDataStore();

        Conversation.UpdateContainer(
                   builder =>
                   {
                       builder.Register(c => store)
                                 .Keyed<IBotDataStore<BotData>>(AzureModule.Key_DataStore)
                                 .AsSelf()
                                 .SingleInstance();

                       builder.Register(c => new CachingBotDataStore(store,
                                  CachingBotDataStoreConsistencyPolicy
                                  .ETagBasedConsistency))
                                  .As<IBotDataStore<BotData>>()
                                  .AsSelf()
                                  .InstancePerLifetimeScope();

                       builder.RegisterType<Dialogs.RootDialog>()
                       .AsSelf().InstancePerLifetimeScope();
                   });
        GlobalConfiguration.Configure(WebApiConfig.Register);

预期: 机器人:您想加票吗?[状态0] 用户:是的 Bot:与票证详细信息对应的州[州1]

实际结果: 当用户键入“是”时,在状态0之后,将调用StartAsync,在“启动异步”中,我是doint context.wait(状态0),因此它将再次回到状态0

0 个答案:

没有答案