【问题标题】:Unable to get reply from bot created with BotFramework hosted in Azure with database connection无法从通过数据库连接托管在 Azure 中的 BotFramework 创建的机器人获得回复
【发布时间】:2017-02-03 17:48:23
【问题描述】:

已经开发好的bot在模拟器本地运行没有任何问题。

但是当我们在 Azure 中托管它时。我们没有收到机器人的任何回复。

我尝试在 dev.botframework.com 中测试机器人连接,我收到“端点授权成功消息”。

谁能告诉我可能是什么问题?

【问题讨论】:

  • 您使用的频道是什么?电报、脸书、Skype?
  • Skype 和网络聊天
  • 我很有可能对连接字符串做错了什么。
  • 您是否将 System.Data.SqlClient 作为提供程序包含在内?
  • 我也尝试过包含它。它没有用。

标签: azure azure-sql-database bots botframework


【解决方案1】:

阿琼

正如您在问题中提到的,它在localhost 中运行良好。但是,当您在 Azure app services 内托管时,它不起作用。如果端点工作正常,无论您是否连接到数据库,您通常都会从Bot 收到默认消息。请检查您的端点,

当您连接到 azure 时,您的端点将如下所示, http://azuregetstartessamplebot.azurewebsites.net

但请记住,当您将该 URL 添加为端点时,请包含 https 而不是 http,并在您的 URL 末尾添加 /API/Messages。然后最终端点 URL 看起来像,

https://azuregetstartessamplebot.azurewebsites.net/API/Messages

希望这个答案对您有所帮助。试试吧。干杯!

【讨论】:

  • 感谢您的回复。我的端点已经和您提到的一样。从 dev.bot 框架中,我收到一条成功消息“端点授权成功”。但是,每当我发送消息时。它在频道问题中被添加为内部服务器错误。
  • 您是否能够在线调试您的机器人以捕获异常?可能 Bot Framework 正在向您发送“消息”以外的 ActivityType,而您的 bot 没有处理它。例如,您可能会收到带有空消息正文的“conversationUpdated”活动。
  • 问题现已修复。我使用的 bot.connector 有一个错误,它已在 3.0.1 中修复。所以我更新了它们。
【解决方案2】:

问题现已解决。

我从 web.config 文件中删除了数据库连接字符串,并在 Azure Web App 服务 -> 应用程序设置中对其进行了配置。

我在通过 ConfigurationManager.connectionString 创建时给出了我在 MessageController.cs 中给出的连接字符串名称

 ConfigurationManager.ConnectionStrings["ConnectionStringName"].ConnectionString

此外,我将 BotBuilder 从 v3.0.0 更新到 v3.0.1,因为它修复了我在代码中使用的 Bot.Connector 的错误。

这两项更改都有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-19
    • 2019-09-13
    • 2019-10-17
    • 2021-12-23
    • 2018-07-23
    • 2019-03-09
    相关资源
    最近更新 更多