C# Bot框架-获取用户';从json模式生成的表单中选择答案

C# Bot框架-获取用户';从json模式生成的表单中选择答案,c#,json,json.net,botframework,formflow,C#,Json,Json.net,Botframework,Formflow,我正在使用这个函数来构建JSONForm。我使用bot在运行时询问用户的一些参数生成JObject 我发送给函数BuildJsonForm的JObject/JSON示例如下: ` { “参考资料”:[ “Microsoft.Bot.Connector.dll”, “System.dll”, “mscorlib.dll”, “System.Net.Http.dll” ], “进口”:[ “Microsoft.Bot.Connector.ThumbnailCard”, “Microsoft.Bot.

我正在使用这个函数来构建JSONForm。我使用bot在运行时询问用户的一些参数生成JObject

我发送给函数BuildJsonForm的JObject/JSON示例如下:

`

{
“参考资料”:[
“Microsoft.Bot.Connector.dll”,
“System.dll”,
“mscorlib.dll”,
“System.Net.Http.dll”
],
“进口”:[
“Microsoft.Bot.Connector.ThumbnailCard”,
“Microsoft.Bot.Connector.StateClient”,
“System.Net.Mail”,
“系统”,
“System.Text.RegularExpressions”,
“System.Net.Http”,
“System.Net”,
“System.Text”
],
“类型”:“对象”,
“必需”:[
“用户名”,
“密码”
],
“模板”:{
“未理解”:{
“模式”:[
“我不明白,请重新措辞”
]
},
“EnumSelectOne”:{
“模式”:[
“请选择一个”
],
“ChoiceStyle”:“自动”
}
},
“财产”:{
“用户名”:{
“提示”:{
“模式”:[
“请告诉我{&}”,
“请你指定一个{&}”
]
},
“类型”:[
“字符串”,
“空”
],
“模板”:{
“未理解”:{
“模式”:[
“这不是有效的输入”
]
}
}
},
“密码”:{
“提示”:{
“模式”:[
“请告诉我{&}”,
“请你指定一个{&}”
]
},
“类型”:[
“字符串”,
“空”
],
“模板”:{
“未理解”:{
“模式”:[
“这不是有效的输入”
]
}
}
}
},
“OnCompletion:“wait context.PostAsync(\“Thank you!\”);字符串文件=\“\”;context.PrivateConversationData.TryGetValue(\“files\”,out files);[更多代码…”
}
`

我需要向数据库发送用户对生成的JObject/JSON表单的问题的回答,但到目前为止,我还没有找到一种方法

我还尝试使用以下行访问BotData
context.PrivateConversationData.TryGetValue(“Files”,out Files),因此我可以直接从JSON的“OnCompletion”部分将用户的答案发送到数据库,但我似乎仍然无法访问OnCompletion部分的数据或上下文


在用户回答表单中的最后一个问题后,是否有其他方法可以成功检索用户对JObject/JSON生成表单的响应?

我的项目中出现问题的原因似乎是向函数发送了以下参数:

GeneratedForm.BuildJsonForm(channel, user, convers);
因为我在没有这些参数的情况下编辑了函数,并且我停止了获取问题中指定的异常。我将查找这些参数导致问题的原因,但我在本例中找到的解决方案是以以下方式定义函数:

GeneratedForm.BuildJsonForm();

我的项目中出现问题的原因似乎是向函数发送了以下参数:

GeneratedForm.BuildJsonForm(channel, user, convers);
因为我在没有这些参数的情况下编辑了函数,并且我停止了获取问题中指定的异常。我将查找这些参数导致问题的原因,但我在本例中找到的解决方案是以以下方式定义函数:

GeneratedForm.BuildJsonForm();

可能这里没有上下文。这是我最初的想法,但OnCompletion
中的行等待上下文。PostAsync(\“谢谢!\”)(这也是您可以用来在对话框代码的频道中发布bot消息的行)中确实包含上下文。我还尝试在onCompletion中访问bot数据,并得到了异常,现在无论我做什么,我都会得到相同的异常,即使是在过去工作得非常好的JSON。可能这里没有上下文。这是我最初的想法,但onCompletion
中的行等待上下文。PostAsync(\“谢谢!\”)(这也是您可以用来在对话框代码的频道中发布bot消息的行)中确实包含上下文。我还尝试在onCompletion中访问bot数据,并得到了异常,现在无论我做什么,我都会得到相同的异常,即使JSON在过去工作得很好。