c# Signalr报错:消息大小超出了最大限制32kB。消息大小可在AddHubOptions中配置。

c# Signalr报错:消息大小超出了最大限制32kB。消息大小可在AddHubOptions中配置。

csharp 复制代码
The maximum message size of 32kB was exceeded. The message size can be configured in AddHubOptions.

报错位置是:

csharp 复制代码
  public override async Task OnDisconnectedAsync(Exception? exception)
  {
      if (exception != null) {
          //记录错误日志
          //The maximum message size of 32kB was exceeded. The message size can be configured in AddHubOptions.
      }
     
      await base.OnDisconnectedAsync(exception);
  }

参考微软官方文档:在这里插入图片描述

https://learn.microsoft.com/zh-cn/aspnet/core/signalr/hubs?view=aspnetcore-10.0

解决办法:

在Program.cs 文件中增加: options.MaximumReceiveMessageSize = 2097152;将限制改为2M

参考微软官方文档:https://learn.microsoft.com/zh-cn/aspnet/core/signalr/configuration?view=aspnetcore-10.0&tabs=dotnet

csharp 复制代码
builder.Services.AddSignalR().AddHubOptions<ChatHub>(options =>
{
    options.EnableDetailedErrors = true;
    options.MaximumReceiveMessageSize = 2097152;//2 * 1024 * 1024;  2MB  限制改为2M
}) .AddJsonProtocol(options =>
    {
        // 禁用驼峰命名法,保留原始属性名
        options.PayloadSerializerOptions.PropertyNamingPolicy = null;
        // 允许未定义属性(避免旧客户端缺失字段时报错)
        options.PayloadSerializerOptions.WriteIndented = false;
        options.PayloadSerializerOptions.DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingDefault;
       
    });
相关推荐
Nebula_g13 分钟前
JavaSE项目实践:红包雨-线程池/线程
java·开发语言
外收内放13 分钟前
Python基础语法练习题(56优化版补充)
开发语言·python
小羊没烦恼!14 分钟前
jQuery1.5的改进细节
java·服务器·开发语言·前端·c#
程序员老陆1 小时前
C++ 未定义行为全景:对象模型、优化边界与工程防御
开发语言·c++·程序设计
嵌入式er1 小时前
影石系统组 一二面OC面经
java·开发语言
徐小黑ACG1 小时前
Golang 基础06 接口interface
开发语言·后端·golang
半杯咖啡半行码1 小时前
Qt 开发基础:版本演进、常用工具与多平台安装
开发语言·qt
下页、再停留1 小时前
【C#桌面客户端系列学习-8】批量导出数据为csv格式
开发语言·c#·visual studio
菜鸟~noob2331 小时前
【电子战】 第26篇:大气衰减——氧气与水汽吸收【含matlab代码】
开发语言·matlab
菜鸟~noob2332 小时前
【电子战】第25篇:自由空间、双射线与菲涅尔区【含matlab代码】
开发语言·算法·matlab