消息包抛出错误type:newtonsoft.json.linq.jproperty

isr3a4wc  于 2021-06-09  发布在  Redis
关注(0)|答案(0)|浏览(256)

我有一个启用了消息包协议的信号器应用程序。当连接到我的集线器的客户机启用了消息包时,一切正常,当我调用一个客户机(禁用了消息包)方法作为参数传递一个包含对象列表的对象时,消息包无法抛出一个异常消息:
找不到匹配的构造函数。type:newtonsoft.json.linq.jproperty
stacktrace显示这个异常是通过用signalr设置的redis后平面引发的
microsoft.aspnetcore.signalr.protocol.messagepackhubprotocol.getmessagebytes(hubmessage message)位于microsoft.aspnetcore.signalr.redis.internal.redisprotocol.writeserializedhubmessage(stream stream,在microsoft.aspnetcore.signaler.redis.internal.redisprotocol.writeinvocation(string methodname,object[]args,ireadonlylist)上序列化hubmessage消息 1 excludedConnectionIds) at Microsoft.AspNetCore.SignalR.Redis.RedisHubLifetimeManager 1.sendgroupexceptasync(字符串groupname,字符串methodname,object[]args,ireadonlylist`1 excludedConnectionId,cancellationtoken cancellationtoken)
下面是我如何使用signalr添加message pack和redis:

services.AddSignalR((options) =>
        {
            options.MaximumReceiveMessageSize = 5242880;
            options.EnableDetailedErrors = true;
        })
        .AddRedis(Configuration.GetConnectionString("RedisCache"))
        .AddNewtonsoftJsonProtocol()
        .AddMessagePackProtocol();

我已尝试将自定义解析程序添加到消息包,但无法解决此问题是否有人遇到过此问题?或者有人有解决办法吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题