0

我用 C# 创建了一个机器人并部署了它,但我不断收到错误代码NotFound或在模拟器 404 中进行测试。

该机器人在测试时在本地工作得非常好,但在部署时却失败了。

我用作曲家创建了一个机器人,它做同样的事情,在本地工作,但在部署到 Azure 时失败。

机器人配置:

在此处输入图像描述

机器人在本地工作:

在此处输入图像描述

机器人远程失败:

在此处输入图像描述

在此处输入图像描述

4

3 回答 3

1

解决我的问题是更改应用服务的协议设置。如果您使用 Bot Composer 部署了您的机器人,则在资源组中您会发现 2 个应用服务 - 一个带有“qna”后缀,另一个没有。选择没有“qna”后缀的那个。

选择应用服务 --> TLS/SSL 设置 --> 仅 HTTPS --> 开启

图片供参考

于 2021-09-14T05:06:18.890 回答
1

我在使用自定义密码选项创建“Web App Bot”时遇到了同样的问题,有时这个选项会失败。因此,您可以尝试在“Web App BOT”中使用自动生成的密码选项。

请验证以下身份验证详细信息:

  1. Microsoft AppId -> 应在应用程序和 Azure 门户中使用相同的 App Id。
  2. Microsoft 密码 -> 应在应用程序和 Azure 门户中使用相同的密码。
  3. Directline Token -> 如果您从前端框架连接,请验证此令牌。
  4. 消息传递端点 -> 验证此端点

Web App Bot有助于为聊天机器人的实现自动创建所有必要的服务,我们可以用另一种方式创建相同的过程。请检查以下步骤。

  • 在 azure 中创建应用服务(托管您的聊天机器人应用程序)
  • 创建 azure bot 频道注册。
  • 使用应用服务端点链接应用服务和机器人频道注册。
  • 验证所有身份验证详细信息。

注意:您可以在 azure bot 模拟器“在 WebChat 中测试”部分测试您的应用。

参考:Azure Chatbot & Bot Framework Composer

于 2021-03-04T02:47:16.653 回答
0

好的,所以我找到了解决方案:
错误(502)错误网关:尝试使用 WebChat 通道访问部署在 Azure 上的聊天机器人时
显然,如果您将机器人部署到天蓝色,它就不起作用。但是,如果您在 azure 上创建一个机器人,然后将您创建的机器人部署到它可以工作的应用服务。链接中的答案描述的方式有点模糊且不完整。为了解决我的问题,我在 azure 中创建了一个机器人,它会自动使用它创建一个应用服务。然后,我通过选择资源组和 appservice 作为我在 Azure 中创建的机器人的目标,发布了我在 Visual Studio 中创建的机器人。然后我要托管的机器人替换了第一个机器人,并以某种方式神奇地解决了网络问题。显然,如果您在 Visual Studio 或 Composer 中创建机器人并按原样发布它是行不通的,这是他们需要微软解决的问题。

于 2021-03-04T08:06:45.850 回答