过去,我已经成功部署了bot,而我从来不必处理这样的问题。现在突然间,我开发的第二个机器人给了我这个错误502错误的网关。现在我什至将其简单化为VS2017从模板创建时创建的支架,只是为了看看是否有任何问题,甚至没有问题。
我尝试过的事情。 ngRok;当我调试它时,它进入rootdialog()然后停在那里,并得到错误的网关502。
我也尝试过,删除并创建新的资源和服务,并重新创建手册中的所有内容。我想念什么吗?
谢谢大家。 问候
答案 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时,可以选中“ 在目标位置删除其他文件”选项。
答案 1 :(得分:0)
好吧,我解决了这个问题,对于那些可能遇到相同问题的人来说,当您的机器人曾经在2018年3月之前工作并且现在抛出502错误和405(CORS)时,您现在必须管理一个自定义状态,您不能只使用Microsoft临时状态,它仅对本地测试有用。
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(); });
别忘了在配置文件中添加连接字符串。