JRawValue(https://github.com/SignalR/SignalR/blob/master/src/Microsoft.AspNet.SignalR.Core/Json/JRawValue.cs)使用:
var serializer = JsonUtility.CreateDefaultSerializer();
为什么不呢?
var serializer = GlobalHost.DependencyResolver.Resolve<JsonSerializer>();
是bug吗?
JsonSerializer serializer = JsonSerializer.Create(settings);
serializer.Converters.Add(new SomeConverter());
GlobalHost.DependencyResolver.Register(typeof(JsonSerializer), () => serializer);
SomeConverter无法接听来电服务器。
答案 0 :(得分:4)
正如您所说,这是JRawValue中的一个错误。在GitHub上已经存在一个问题:
https://github.com/SignalR/SignalR/issues/3304
该问题的提交者能够通过提供他们自己的DefaultParameterResolver
来解决它,该{{1}}使用反射来获取原始JSON字符串。
显然非常不幸的是,这是必要的。如果您愿意,可以对此问题发表评论,表明修复此问题对您来说很重要。这将增加在即将发布的SignalR版本中修复错误的可能性。
如果您对此问题发表评论,如果您留下评论详细说明您在服务器上使用的自定义(反)序列化设置以及您在客户端上执行的操作以自定义Hub参数的序列化方式,则可能会有所帮助,< / p>