c# - 迁移到自定义 BotState 服务 - list ?

标签 c# .net botframework

announcement之后,开箱即用的机器人状态管理将被弃用,我们已经使用以下文档实现了我们自己的机器人状态服务:

因此,我们可以将迁移过程概括为以下步骤:

  1. 设置将用于存储机器人状态数据的 Azure Cosmos DB。
  2. 更新 Conversation IoC 容器以包含 DocumentDbBotDataStore 注册。
  3. 确保不再使用 StateClient 类型,因为它使用默认的开箱即用的机器人状态存储。请改用 IDialogContext 中的 ConversationDataPrivateConversationDataUserData

执行上述步骤后,我们可以看到机器人状态数据现在已正确存储在我们自己的 Cosmos DB 中。此外,Bot Channel Emulator 不再报告与机器人状态相关的警告。

我的问题是,我们是否需要采取其他步骤来确保不会在幕后调用默认弃用的机器人状态服务。还有什么不是很明显但需要考虑的吗?

最佳答案

看起来您已经涵盖了所有内容。 SDK 中没有“在幕后调用默认已弃用的机器人状态服务”。如果您没有使用 activity.GetStateClient(),并且您已经正确实现了 IBotDataStore。大功告成。

本文档介绍了如何使用 Microsoft.Bot.Builder.Azure 中的 DocumentDbBotDataStore https://github.com/Microsoft/BotBuilder-Azure

关于c# - 迁移到自定义 BotState 服务 - list ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48501468/

相关文章:

c# - 将 linq 中的 select 子句组合到具有匿名类型的实体

c++ - 与.net相比,C++的所有权概念

c# - 使用预建实体 datetimeV2 捕获日期范围

javascript - Microsoft Bot Framework 中是否需要为每个 'endDialog' 调用 'beginDialog' ?什么时候应该调用 'endDialog' ?

c# - TSqlUnit 值得使用吗?

c# - 在 C# 中的对象之间传输事件处理程序

.net - Bamboo 构建计划与部署计划

azure - 如何使用 Dispatch 查找两个 LUIS 应用程序的意图?

c# - 如何在没有 URL 的情况下加载 html 源?

c# - 如何将泛型类型参数限制为 System.Enum