【发布时间】:2017-03-17 14:24:03
【问题描述】:
我有一个具有以下对话场景的机器人:
- 向 LUIS 发送文本
- LUIS 意图调用
context.Call(...)以启动对话框 -
此对话框终止,在 userData 中保存一些信息:
private static async Task storeBotData(IDialogContext context, BotData userData) { Activity activity = (Activity)context.Activity; StateClient sc = activity.GetStateClient(); await sc.BotState.SetUserDataAsync(activity.ChannelId, activity.From.Id, userData); }在它调用另一个对话框之后,再次使用
context.Call(...)。 然后最后一个对话框运行并终止。
我的问题是,在第一个对话框(第 3 步)结束时更新用户数据时,我在 Bot Framework Channel Emulator 中出现以下异常:
`Exception: The data is changed [File of type 'text/plain']`...
这里发生了什么?我认为当对话框终止时,它会自行调用setUserData,但我不明白为什么我不能在代码中的任何地方更新 userData...
我试图捕捉异常,但没有捕捉到任何东西。但我知道 userData 已更新,因为当我尝试检索它时,它已更新...
欢迎任何帮助:)
谢谢
【问题讨论】:
-
您使用的是哪个版本的框架?
标签: botframework azure-language-understanding