【问题标题】:BotFramework: 'State size exceeded configured limit.'BotFramework:“状态大小超出了配置的限制。”
【发布时间】:2017-10-02 14:05:29
【问题描述】:

我正在开发一个机器人,每当我在表单流中发布异步英雄卡(50 张英雄卡)时,最后它都会给我一条错误消息:“状态大小超出了配置的限制。”来自 Microsoft.Bot.Connector.DLL

尝试 setPrivateConversationData 时发生错误 在模拟器上的错误下方:

  "key": {
    "channelId": "emulator",
    "conversationId": "i99caeb8n2h7",
    "userId": "default-user"
  },
  "state": {
    "eTag": "1506952139325",
    "data": {
      "ResumptionContext": {
        "locale": "en-US",
        "isTrustedServiceUrl": true
      },
      "DialogState": "H4sIAAAAAAAEAOx9B2AjWX........",
      "ServiceUrl": "http://localhost:1460"
    }
  }
}

回复:

{
  "error": {
    "code": "MessageSizeTooBig",
    "message": "State size exceeded configured limit."
  }
}

谢谢大家

【问题讨论】:

    标签: c# azure emulation bots botframework


    【解决方案1】:

    根据docs,使用默认状态功能可以存储的数据量存在限制。每个状态存储(即用户、对话和私人机器人数据包)最多可包含 64kb 的数据。

    您将不得不存储更少的信息或提供自己的存储机制。

    以下文章展示了如何使用 CosmosDb 管理状态数据:https://docs.microsoft.com/en-us/bot-framework/dotnet/bot-builder-dotnet-state-azure-cosmosdb

    【讨论】:

    • 那么在对话中发送图像时不能超过 32kb 的限制?我之前没有任何问题,发生了什么?
    • 是的,它可以更大,图像没有被存储在状态。
    • 这是我的帖子,显然这个异常的原因与当时略有不同..stackoverflow.com/questions/46645806/…
    • 我刚刚回复了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-12
    • 2016-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多