请求实体太大:如何使用 Microsoft Bot Framework on Teams 修复此错误

Request Entity Too Large: How to Fix this Error with Microsoft Bot Framework on Teams

我正在尝试使用机器人框架在 Teams 上以表格格式显示数据。

首先,我在之后使用了自适应卡。它工作正常但是当项目变得如此多时不支持滚动条(垂直和水平)。

后来我写了一个HTML table作为字符串传给了activity文本。这非常有效,但不适用于大型数据集。我收到错误:请求实体太大。

请问我该如何解决?

public static string ConvertToHTMLString(DataTable dt)
{
    StringBuilder sb = new StringBuilder();
    sb.Append("<table style='border-collapse: collapse;font-family: Arial, Helvetica, sans-serif; width: 100%;'>");
    sb.Append("<tr>");
    foreach (DataColumn column in dt.Columns)
    {
        sb.Append("<th style='border: 1px solid #ddd; padding: 8px;padding-top: 12px;padding-bottom: 12px;text-align: left;background-color: #4CAF50;color: white;'>" + column.ColumnName + "</th>");
    }
    sb.Append("</tr>");
    foreach (DataRow row in dt.Rows)
    {
        sb.Append("<tr>");
        foreach (DataColumn column in dt.Columns)
        {
           sb.Append("<td style='border: 1px solid #ddd; padding: 8px;'>" + row[column.ColumnName].ToString() + "</td>");
        }
       sb.Append("</tr>");
     }
        
     sb.Append("</table>");
     return sb.ToString();
}             

protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivity> turnContext, ancellationToken cancellationToken)
{
     var activity = Activity.CreateMessageActivity();
     activity.TextFormat = "XML";
     activity.Text = ConvertToHTMLString();
     await  turnContext.SendActivityAsync(activity, cancellationToken);       

}

机器人框架/MS Teams 中存在最大消息大小。

您的消息(卡片等)单条消息不能大于 25kb。 这就是您收到此错误的原因。你的信息太大了。

唯一可用的修复方法是减小大小、删除不需要的内容或将其拆分为多条消息。