首页 > 解决方案 > ITurnContext.TurnState 的用途是什么,它的生命周期是什么?

问题描述

我想使用ITurnContext.TurnState来存储一些不属于对话对话的状态。我正在尝试存储新的 Multiturn QnA Maker 的后续状态,以便在为具有后续提示的 QnA 问题做出后续选择时可以获取该状态。这个TurnState的生命周期范围是什么?

我可以创建一个状态属性访问器并将其存储在私人对话状态中,但与将单个属性添加到TurnState 的集合相比,如果该属性将被持久化并在下一回合可用,则需要做很多工作。

标签: botframework

解决方案


恐怕您将不得不使用IStatePropertyAccessor<TurnState>或使用自己的逻辑来坚持自己的价值观。按照您描述的方式使用 TurnState,这些值将仅在回合的生命周期内可用。一个回合通常被称为向机器人发送一个活动,因此它确实等于一个 API 请求。您的 TurnState 值将出现null在后续请求中。


推荐阅读