Botframework 关于保存bot状态的问题
我通读了有关保存状态数据的内容。关于这一点,我有一些问题:- 让我们以通过浏览器频道公开的机器人为例:-Botframework 关于保存bot状态的问题,botframework,Botframework,我通读了有关保存状态数据的内容。关于这一点,我有一些问题:- 让我们以通过浏览器频道公开的机器人为例:- 存储的数据的生命周期是多少?例如,当bot使用context.ConversationData.SetValue(..)保存数据时,会话结束时(当用户刷新页面时)是否清除数据 “来自”活动的“来自”对象具有Id和名称。这些信息是否在每次聊天会话开始时由频道生成?例如,如果我正在与机器人聊天,然后刷新网页,现在我的Id和姓名是否会更改 关于谈话的问题也是一样。如果我刷新页面并再次开始对话,是否
DocumentDbBotDataStore
或TableBotDataStore
的实现。根据我的实现,我看到存储的数据中有一个Timestamp
列,因此您可以基于该列进行清理Id
和Name
字段(适用于From
,但也适用于收件人
):是,它们取决于频道。我做了一个详细的回答,关于这一点:您好,我希望下面的答案对您有用: 1. 存储的数据的生命周期是多少?例如,当bot使用context.ConversationData保存数据时,SetValue(..)就是数据 会话结束时清除(当用户刷新页面时) ANS:-> 根据Bot框架的指导方针,州API处于折旧状态。您必须使用自己的状态管理服务来维护Bot的状态。参考: 因此,假设您使用表存储或SQL数据库来存储bot,在这种情况下,只要存储帐户和数据库可用,数据就会持久存在 2. “来自”活动的“来自”对象具有Id和名称。这些是生成的吗 每次聊天会话开始时按频道播放?例如,如果我 正在与机器人聊天,然后刷新网页,现在将我的Id和 你的名字变了吗 ANS:-> 这取决于您如何初始化聊天。例如,如果您正在使用
- 网络聊天:它将是空id
- Skype:它将是Skype id和用户名
- DirectLine:您可以根据需要定义自己的id和名称
@user3740951,Grad,你觉得我的答案很有用。谢谢你抽出时间回答我的问题!跟进第一个答案。关于不推荐使用的状态服务API,我对我可以使用和不能使用的API有点困惑:-1。我可以使用StateClient吗?2.stateClient.BotState.DeleteStateForUser()、GetUserData()、SetUserData()、GetConversationData()3。stateClient.BotState.GetUserDataAsync()4。IDialogContext.UserData.GetValue()是。botframeworkbeta提供了包括存储空间在内的免费状态管理。因此,现在不推荐使用这种方法,这意味着您需要处理的只是存储bot数据的方式,仅此而已。因此,上面所有的API都不推荐使用,为了处理Bot数据,我需要编写自己的代码来连接到某个数据库并在其中写入数据。正确-上面列出的所有API都将无法使用。但是您不需要编写自己的方法。现在,您需要提供有关存储状态数据的数据库/存储帐户的信息。同样,可以使用Application\u Start:UpdateContainer方法轻松完成。您可以使用context.UserData或context.ConversationData访问状态数据。谢谢