我有一个内置于sdk v3中的聊天机器人。我将Bot更新为sdkv4,并将其移至core2.0。
protected async Task<DialogTurnResult> BeginChildDialogAsync(DialogContext dc, OnTurnProperty onTurnProperty)
{
var activity = dc.Context.Activity;
var actionValue = onTurnProperty.Intent;
switch (onTurnProperty.Intent)
{
case "quickquote":
await dc.Context.SendActivityAsync("THIS IS QUICK QUOTE!");
var survey = new FormDialog<QQForm>(new QQForm(), QQForm.BuildForm, FormOptions.PromptInStart, null);
dc.Call(survey, AfterSurvey);
当我调用使用formdialog构建的表单时。我在dc.call(survey,AfterSurvey)
严重性代码描述项目文件行抑制状态 错误CS1061“ DialogContext”不包含“呼叫”的定义 并且没有可访问的扩展方法“ Call”接受第一个参数 可以找到“ DialogContext”类型的(您是否缺少 指令还是程序集引用?)
如何更改sdk v4中的formdialog?
答案 0 :(得分:1)
Bot Framework v4不再具有FormFlows的概念。存档的方法是使用多种技术的组合。我建议阅读以下内容:
阅读完本文档后,您应该有足够的能力开始改编代码。
官方的bot构建器示例存储库中提供了另一个很好的示例,可以收集用户的各种输入。看看here。
我会去一个ComponentDialog
,其中包含一个经过验证的WaterfallDialog
。这样,您就可以重复使用表单流程中的所有内容。