2017-08-16 133 views
2

我们正在使用MS Bot Framework构建机器人。有时候不使用机器人时,需要花费太多时间来响应,并且我们得到[500]内部服务器错误。当我们尝试访问我们的应用程序中的机器人(我们正在使用Direct Line与机器人交互)时,我们看到了这个问题。保持机器人活着

我已阅读有关确保应用程序活动的Microsoft Azure设置设置为“始终开启”的其他解答,并且我们已经完成了此操作。但是,随着永远在ping我们的机器人网络应用程序的根,我认为它可能不足以保持机器人/直线活着...

而且我没有任何重写规则从http到https阻止ping请求成功..

有人有这个问题吗?

更新问一个具体的问题:如果上面解释的所有设置都不起作用,我们如何确保我们的机器人永远活着?我们应该通过直线框架来ping我们的机器人吗?

+0

不知道为什么我的问题是用-1降低投票数......我们是否必须在提问之前将每篇文章的参考文献放在一起? – ben

+2

您没有针对特定问题提出具体问题,也没有显示任何代码或信息来帮助解决您的问题。 https://stackoverflow.com/help询问是否有人有这个问题是开放式的,不允许的。不要让我们猜你在做什么。 – Rob

+0

好的,thx!我用你的建议更新了我的问题。 – ben

回答

0

一种方法是每15分钟发一次ping。默认的代码,甚至给你一个地方来处理消息控制器的平

else if (message.Type == ActivityTypes.Ping) 
{ 

} 

也请看一看this post,因为它可能为你工作,并没有代码一个非常简单的解决方案。

+0

您所指的链接是关于Always On,我们已经实现了该链接。 bot azure网站一直保持这种功能,但它不会阻止机器人在一段时间不活动后停止响应... – ben

+0

我相信要将PING发送到机器人,您需要进行对话......所以你需要保持一个活跃的对话才能做到这一点,如果你想通过Azure调度器来做到这一点,那么这是一个痛苦(例如Azure功能) – ben

0

我不得不创建一个天青的函数来ping我的服务,因为我有这个相同的问题。我一直在为我的所有服务,并仍然发现机器人睡觉。使用ping服务,它建立一个新的对话,发送话语,然后在收到响应后关闭。这似乎有效,但实践只有一个星期。请注意,我每五分钟就会ping一次。