J原始值(https://github.com/SignalR/SignalR/blob/master/src/Microsoft.AspNet.SignalR.Core/Json/JRawValue.cs https://github.com/SignalR/SignalR/blob/master/src/Microsoft.AspNet.SignalR.Core/Json/JRawValue.cs) using:
var serializer = JsonUtility.CreateDefaultSerializer();
为什么不是这个?
var serializer = GlobalHost.DependencyResolver.Resolve<JsonSerializer>();
这是错误吗?
JsonSerializer serializer = JsonSerializer.Create(settings);
serializer.Converters.Add(new SomeConverter());
GlobalHost.DependencyResolver.Register(typeof(JsonSerializer), () => serializer);
SomeConverter 不适用于传入服务器调用。
正如您所指出的,这是 JrawValue 中的一个错误。 GitHub 上已经为此提交了一个问题:
https://github.com/SignalR/SignalR/issues/3304 https://github.com/SignalR/SignalR/issues/3304
问题的提交者能够通过提供自己的解决方案来解决这个问题DefaultParameterResolver
使用反射来获取原始 JSON 字符串。
显然这是非常不幸的,这是必要的。如果您愿意,可以对此问题发表评论,表明解决此问题对您很重要。这将增加该错误在即将发布的 SignalR 版本中得到修复的可能性。
如果您确实对此问题发表评论,那么如果您留下评论详细说明您在服务器上使用的自定义(反)序列化设置以及您在客户端上执行的操作来自定义集线器参数的序列化方式,可能会有所帮助,
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)