Bot在测试中抛出502 Bad Gateway

时间:2018-08-24 14:32:16

标签: c# azure botframework

过去,我已经成功部署了bot,而我从来不必处理这样的问题。现在突然间,我开发的第二个机器人给了我这个错误502错误的网关。现在我什至将其简单化为VS2017从模板创建时创建的支架,只是为了看看是否有任何问题,甚至没有问题。

我尝试过的事情。 ngRok;当我调试它时,它进入rootdialog()然后停在那里,并得到错误的网关502。

我也尝试过,删除并创建新的资源和服务,并重新创建手册中的所有内容。我想念什么吗?

谢谢大家。 问候

2 个答案:

答案 0 :(得分:1)

  

我开发的第二个机器人给了我这个错误502错误的网关。

this documentation中,我们可以发现此错误(HTTP状态码502“错误的网关”)表明该漫游器返回了错误或请求超时。因此,请确保您的bot应用程序可以在本地正常运行,并且没有任何任务花费很长时间来获取您的bot应用程序代码中的结果。

如果可能,您可以尝试创建新的Web应用程序机器人(并指定一个应用服务计划),然后可以为您的机器人应用程序升级Bot Builder SDK并将其发布到该应用程序相应的应用程序服务,以检查您的机器人应用程序是否可以与新的机器人服务一起使用。

此外,如果您确定漫游器应用程序代码可以正常运行并且正确配置了the issue with Azure bot service和应用程序设置,但有时bot Settings可能会导致相同的错误,但是您在Azure上的漫游器仍然无法正常运行可以的,您可以尝试create a support request进行报告。

注意:

将漫游器应用程序部署到Azure时,可以选中“ 在目标位置删除其他文件”选项。

enter image description here

答案 1 :(得分:0)

好吧,我解决了这个问题,对于那些可能遇到相同问题的人来说,当您的机器人曾经在2018年3月之前工作并且现在抛出502错误和405(CORS)时,您现在必须管理一个自定义状态,您不能只使用Microsoft临时状态,它仅对本地测试有用。

  1. 创建一个新的存储帐户(表存储)
  2. 将以下内容添加到您的Global.asax
Conversation.UpdateContainer(builder => {
                builder.RegisterModule(new AzureModule(Assembly.GetExecutingAssembly()));
                var store = new TableBotDataStore(ConfigurationManager.ConnectionStrings["StorageConnectionString"].ConnectionString);

                builder.Register(c => store)
                .Keyed<IBotDataStore<BotData>>(AzureModule.Key_DataStore)
                .AsSelf()
                .SingleInstance();


            });

别忘了在配置文件中添加连接字符串。