我似乎无法在 BotFramework 的对话框堆栈中添加另一个对话框。我使用此处找到的c# 模板创建了一个小型机器人应用程序。
我只将 RootDialog 代码更改为:
using System;
using System.Threading.Tasks;
using Microsoft.Bot.Builder.Dialogs;
using Microsoft.Bot.Connector;
namespace TextBot.Dialogs
{
[Serializable]
public class RootDialog : IDialog<object>
{
public async Task StartAsync(IDialogContext context)
{
await context.PostAsync("Welcome! This is the root dialog.");
context.Wait(MessageReceivedAsync);
}
private async Task MessageReceivedAsync(IDialogContext context, IAwaitable<object> result)
{
var activity = await result as Activity;
if (activity.Text == "other") context.Call<string>(new EchoDialog(), this.MessageReceivedAsync);
context.Wait(MessageReceivedAsync);
}
}
[Serializable]
public class EchoDialog : IDialog<string>
{
public async Task StartAsync(IDialogContext context)
{
await context.PostAsync("Hi there, this is Another dialog!");
context.Done(true);
}
}
}
当我使用 BotEmulator 尝试此代码时,对话如下所示:
我:喂!
机器人:欢迎!这是根对话框。
我:其他
机器人:抱歉,我的机器人代码有问题。
这是调试控制台中的输出:
iisexpress.exe 警告:0:服务 url localhost:51528 不受信任,无法将 JwtToken 发送给它。
抛出异常:Microsoft.Bot.Builder.dll 中的“Microsoft.Bot.Builder.Internals.Fibers.InvalidNeedException”
抛出异常:mscorlib.dll iisexpress.exe 中的“Microsoft.Bot.Builder.Internals.Fibers.InvalidNeedException”警告:0 : 服务 url localhost:51528 不受信任,无法向其发送 JwtToken。
抛出异常:mscorlib.dll 中的“Microsoft.Bot.Builder.Internals.Fibers.InvalidNeedException”线程 0x3c9c 已退出,代码为 0 (0x0)。
我不知道我做错了什么。有人可以告诉我如何解决这个问题吗?
相关分类