SignalR不解析传入服务器调用的JsonSerializer

时间:2014-11-16 00:26:33

标签: json signalr

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无法接听来电服务器。

1 个答案:

答案 0 :(得分:4)

正如您所说,这是JRawValue中的一个错误。在GitHub上已经存在一个问题:

https://github.com/SignalR/SignalR/issues/3304

该问题的提交者能够通过提供他们自己的DefaultParameterResolver来解决它,该{{1}}使用反射来获取原始JSON字符串。

显然非常不幸的是,这是必要的。如果您愿意,可以对此问题发表评论,表明修复此问题对您来说很重要。这将增加在即将发布的SignalR版本中修复错误的可能性。

如果您对此问题发表评论,如果您留下评论详细说明您在服务器上使用的自定义(反)序列化设置以及您在客户端上执行的操作以自定义Hub参数的序列化方式,则可能会有所帮助,< / p>