【发布时间】:2018-08-22 09:27:39
【问题描述】:
我正在使用基于 .Net Core 的 Bot Framework SDK v-4.x。我创建了几个对话框,我可以使用DialogContext.Begin、DialogContext.End 和DialogContext.Continue 来处理这些对话框。一切正常,但现在我想在对话中间实现一个 FormFlow。我参考了这个链接-https://docs.microsoft.com/en-us/azure/bot-service/dotnet/bot-builder-dotnet-formflow?view=azure-bot-service-3.0
我在 Github (https://github.com/MicrosoftDocs/bot-docs/issues/227) 上发布了这个,根据解决方案,这是我尝试过的-
[Serializable]
public class HelpForm
{
public string FullName { get; set; }
public string EmailID { get; set; }
public string Question { get; set; }
public DateTime BestTimeToContact { get; set; }
public List<Priority> Priority { get; set; }
public static IForm<HelpForm> BuildForm()
{
return new FormBuilder<HelpForm>()
.Message("Please fill out the details as prompted.")
.Build();
}
}
public enum Priority
{
Low,
Medium,
High
}
在我的机器人OnTurn 事件中,我正在做这样的事情-
await Microsoft.Bot.Builder.Classic.Dialogs.Conversation.SendAsync(context, () => FormDialog.FromForm(HelpForm.BuildForm)); //context is of type ITurnContext
这似乎不起作用,我在模拟器中得到响应
抱歉,我的机器人代码有问题。
此外,此链接-https://github.com/Microsoft/botbuilder-dotnet/wiki/Using-Classic-V3-Dialogs-with-V4-SDK 表示 .Net Core 不支持 Microsoft.Bot.Builder.Classic。
请问有什么帮助吗?
更新
根据 Fei 的评论,我得到了异常详细信息。 System.Runtime.Serialization.SerializationException: Type 'System.RuntimeType' in Assembly 'System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e' is not marked as serializable.。虽然我的 HelpForm 类标有Serializable。
查看FormFlow 类的元数据,它没有用Serializable 属性标记。
请注意确定错误是否与此有关。
【问题讨论】:
-
Sorry, my bot code is having an issue.您可以尝试通过CatchExceptionMiddleware来跟踪/检查详细的异常消息。 -
@FeiHan 我收到类似这样的错误-
System.Runtime.Serialization.SerializationException: Type 'System.RuntimeType' in Assembly 'System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e' is not marked as serializable.。虽然我的HelpForm类标有Serializable。 -
Microsoft.Bot.Builder.Classic 已被删除。 v4 目前不支持 FormFlow。我一直在这里开发一个端口:github.com/EricDahlvang/Microsoft.Bot.Builder.FormFlow(尚未准备好发布)
-
FormBuilder 在 V4 中存在 github 问题github.com/Microsoft/botbuilder-dotnet/issues/561
-
Bot Builder 社区上周发布了FormFlow version for Bot Builder v4。 Read me
标签: c# asp.net-core botframework