Botframework “微软机器人模拟器”;抱歉,我的机器人程序代码有问题;,如何调试这个?
我的MS.Bot.Framework+Luis+Azure有问题Botframework “微软机器人模拟器”;抱歉,我的机器人程序代码有问题;,如何调试这个?,botframework,azure-language-understanding,Botframework,Azure Language Understanding,我的MS.Bot.Framework+Luis+Azure有问题 await Conversation.SendAsync(activity, () => { return Chain.From(() => new LUISDialog() as IDialog<object>); }); wait Conversation.sendaync(活动,()=>{return Chain.From(()=> 新的LUISDialog()作为IDialog);});
await Conversation.SendAsync(activity, () => { return Chain.From(() =>
new LUISDialog() as IDialog<object>); });
wait Conversation.sendaync(活动,()=>{return Chain.From(()=>
新的LUISDialog()作为IDialog);});
我有活动Azure订阅,使用订阅密钥设置端点
运行MS Bot emulator时,我收到错误消息“抱歉,我的Bot代码有问题”。在调试模式下使用断点,我发现“新LUISDialog”没有被触发,似乎跳过了它
using System;
using System.Threading.Tasks;
using Microsoft.Bot.Builder.Dialogs;
using Microsoft.Bot.Builder.Luis;
using Microsoft.Bot.Builder.Luis.Models;
using System.Threading;
using George;
using Microsoft.Bot.Connector;
namespace Geoge.Dialog
{
[LuisModel("*****", "*****")]
[Serializable]
public class LUISDialog : LuisDialog<object>
{
[LuisIntent("Greeting")]
public async Task GreetingIntent(IDialogContext context,
IAwaitable<IMessageActivity> activity, LuisResult result)
{
string message = $"Hello there";
await context.PostAsync(message);
context.Wait(this.MessageReceived);
}
使用系统;
使用System.Threading.Tasks;
使用Microsoft.Bot.Builder.Dialogs;
使用Microsoft.Bot.Builder.Luis;
使用Microsoft.Bot.Builder.Luis.Models;
使用系统线程;
使用乔治;
使用Microsoft.Bot.Connector;
名称空间Geoge.Dialog
{
[路易斯莫德(“****”,“****”)]
[可序列化]
公共类LUISDialog:LUISDialog
{
[问候语]
公共异步任务GreetingIntent(IDialogContext上下文,
IAwaitable活动、LuisResult结果)
{
字符串消息=$“你好”;
等待上下文。PostAsync(消息);
context.Wait(this.MessageReceived);
}
有人能帮我吗?我花了很多时间试着调试,我想我一定错过了一些简单的东西。奇怪的是你的初始代码行:
await Conversation.SendAsync(activity, () => { return Chain.From(() => new LUISDialog() as IDialog<object>); });
虽然特定的代码片段是正确的,但我也面临同样的问题。 在我将我的LUIS应用程序发布到生产版后,它得到了修复。emulator上的错误也表明-请求错误
我认为这可能会对将来的某个人有所帮助。当你在Azure门户的bot中通过网络聊天进行测试时,它是否有效?这是你在本地开发的BF.3.x C#项目还是使用web app bot开发的项目。如果你在本地开发,请逐步完成代码或添加控制台。编写语句。如果你在远程调试,请检查日志,并添加debug语句-可能是上下文。编写。我注意到这是使用George;的
名称空间Geoge。Dialog
可能是其中之一,这可能是导致此?链“应该”在此处工作的一个输入错误,但这也是我的建议。
await Conversation.SendAsync(activity, () => new LUISDialog());