如何在Azure上使用DialogPromptBot示例?

时间:2019-02-06 19:07:54

标签: azure debugging botframework diagnostics

我从Azure的机器人样本开始。但是,它似乎已过时(.Net Core不匹配)。因此,我以DialogPromptBot示例为起点。我对示例代码进行了更改,以使其能够在本地计算机上执行我想要的操作,但无法在Azure上启动并运行它。我尝试从GitHub进行部署,但所做的只是将DialogPromptBot派生的bot粘贴在现有bot的顶部,导致无法运行。当我点击在网络聊天中测试时,它只是位于“等待机器人准备就绪”。我要使用WaterfallDialog,因为我有一系列问题。

是否可以从头开始部署机器人?我尝试从VS发布。它声称已发布,但是,出现以下错误:

  

启动应用程序时发生错误。

     

.NET Core 4.6.26614.01 X86 v4.0.0.0 | Microsoft.AspNetCore.Hosting版本2.1.1-rtm-30846 | Microsoft Windows 10.0.14393 |需要帮助吗?

出现了App Service,但没有显示漫游器。

注意:我正在运行Visual Studio for Mac。

更新:我首先从Azure中获取了一个干净的示例。确保我将库的版本与示例中的库匹配,并且现在一切正常。桌面Bot仿真器,Web聊天和Skype看起来都非常不同。

2 个答案:

答案 0 :(得分:1)

听起来在部署过程中有些事情发生了变化。您可以使用此tutorial直接从Visual Studio for Mac发布应用(在这种情况下为bot)。

Mac和Windows版本都将发布机器人,就像发布Web应用程序一样。通常,机器人是作为Web应用程序BOT发布的,但是如果直接从Visual Studio发布,则唯一的选择是作为纯Web应用程序。不用担心!

发布Web应用程序之后,您将进入Azure并在与新发布的应用程序相同的资源中创建Bot Channels注册。然后,您将机器人通道注册中的应用程序ID和密码添加到您的网络应用程序中(实际的机器人程序部分),应该可以在网络聊天中进行测试了。

显式步骤为here。您必须跳过上面有关使用Visual Studio的第一部分,因为您必须遵循上面的Mac版本。

知道您的部署很糟糕,我将按照以上说明诚实地将其废弃,然后重新开始部署。

答案 1 :(得分:0)

无需任何代码更改即可诊断此问题的最简单方法是...

  1. 在Web应用程序上启用应用程序日志记录(诊断日志/应用程序日志记录->开)
  2. 重新启动Web应用(以再次强制启动阶段)
  3. 打开Log Streaming刀片并等待其连接
  4. 与机器人进行对话以触发异常

这应该导致将异常的详细信息转储到Log Streaming刀片中,然后您应该对发生的问题有更好的了解。