首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么BotConnector行为与模拟器不同?

为什么BotConnector行为与模拟器不同?
EN

Stack Overflow用户
提问于 2016-04-01 12:54:50
回答 2查看 317关注 0票数 1

我正在玩最近发布的。我做了以下步骤:

  1. 使用IDialog (回波体样本)创建一个简单的机器人,用模拟器进行测试,部署到Azure并在dev.botframework.com注册。一切都很好。
  2. 更新机器人使用LuisDialog与Luis一起工作,并添加了LuisModel和LuisIntent属性(基于报警机器人样本)并将其部署到云中。

在那之后,我有一种奇怪的行为:

本地和云部署都按照预期使用模拟器工作,Luis部件工作得很好。

当从BotConnector测试连接触发相同的bot时,它并不绑定Luis,而是进入MessageReceivedAsync。

我检查了机器人路径、应用程序id和密钥,重新部署了AppService并重新注册了机器人,我仍然得到了相同的行为。

我的ReceiveMessageAsync看起来如下:

代码语言:javascript
复制
private async Task MessageReceivedAsync(IDialogContext context, IAwaitable<Message> result)
{
  var message = await result;

  await context.PostAsync("You have just said: " + message.Text);
  context.Wait(MessageReceivedAsync);
}

我之所以不删除它,是因为没有它,测试连接就停止工作了。另一方面,仿真器工作得很好。

BotConnector和模拟器中的测试连接是否指向预期总是返回相同结果的相同端点?还是,我漏掉了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-18 12:56:10

不再适用了。更新的1.1版本,它是BTW引入的最新变化,在相同的代码基上工作起来就像一个魅力。

票数 0
EN

Stack Overflow用户

发布于 2016-04-06 14:54:56

是的,Bot连接器和模拟器发送相同的消息。

代码是否返回相同的值取决于您如何处理消息、调用环境(通过HTTP调用本地主机而不是通过HTTPS远程调用)和宿主环境(通常是IIS中的调试位和C#应用程序中的发布位)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36356926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档