【问题标题】:Bot responses with lag after certain time of non-use一段时间不使用后,机器人响应滞后
【发布时间】:2017-02-28 12:29:19
【问题描述】:

我有一个无法解决的永久性问题。
似乎我的 dll 在一段时间后从内存中卸载了。
例如,当我在 30 分钟内不使用 bot,然后重新使用时,它需要一些时间才能响应,就像它被重新部署或 dll 不再在 RAM 中并且它在响应之前被重新加载。
有没有办法解决一段时间不使用机器人时的延迟?

更新:2017 年 3 月 1 日

要激活“始终开启”选项,必须传递付费报价。 由于我仍然在那里开发,我不能传递这个提议。 我找到了一个解决方案,可以通过创建一个每分钟发送消息的脚本来让我的 Bot 保持活动模式。 我的脚本在 c# 中,当我执行此脚本时,我收到授权错误。

var authValue = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes($"{MyMicrosoftAppId}:{MyMicrosoftAppPassword}")));

   var client = new HttpClient()
    {
        DefaultRequestHeaders = { Authorization = authValue }

    };

    var jsonObject = new Rootobject()
    {
      type = "message",
      id = "0a24ca1428074419a1679b37e0e3dd39",
      timestamp = DateTime.Now,
      serviceUrl = "http://localhost:9000/",
      channelId = "emulator",
      from = new From()
      {
          id = "2c1c7fa3",
          name = "User1"
      },
      conversation = new Conversation()
      {
          isGroup = false,
          id = "8a684db8",
          name = "Conv1"
      },
      recipient =   new Recipient()
      {
          id = "56800324",
          name = "Bot1"
      },
      text = "ping",
      attachments = new object[0],
      entities = new object[0]
    };

    var content = new StringContent(jsonObject.ToString(), Encoding.UTF8, "application/json");
    var result = client.PostAsync("http://emiko.azurewebsites.net/api/messages", content).Result;
    result.ToString();          

但我收到授权错误: StatusCode:401,ReasonPhrase:'未授权',版本:1.1,内容:System.Net.Http.StreamContent...

如何在 Bot 上正确登录并在其 Url 上发送消息 (http://emiko.azurewebsites.net/api/messages)

【问题讨论】:

标签: azure-web-app-service botframework


【解决方案1】:

正如官方document提到的关于Always On:

默认情况下,如果网络应用闲置了一段时间,则会卸载它们。这使系统可以节省资源。在基本或标准模式下,您可以启用 Always On 以始终保持应用程序加载。如果您的应用连续运行 Web 作业,则应启用 Always On,否则 Web 作业可能无法可靠运行。

要激活“始终开启”选项,必须传递付费报价。由于我仍然在那里开发,我不能传递这个提议。

根据您的情况,我假设您可以定期发送请求以确保您的站点处于活动状态,这里有一些您可以参考的教程(tutorial1 和 tutorial2)。

【讨论】:

    猜你喜欢
    • 2016-11-01
    • 1970-01-01
    • 2019-04-28
    • 2022-01-06
    • 1970-01-01
    • 2017-02-04
    • 2014-07-27
    • 1970-01-01
    • 2015-05-01
    相关资源
    最近更新 更多