SignalR 2.0.0 beta2 IJsonSerializer可扩展性

ppo*_*ani 4 serialization json signalr

我想添加一些自定义序列化逻辑,以便转换后的json包含驼峰大小写属性.

出于这个原因,我试图用我在这个链接中找到的一个替换默认的IJsonSerializer:

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

然而,似乎存在问题.更具体地说,在任何signalR程序集中都不存在JsonNetSerializerIJsonSerializer类.在这方面,最新版本的signalR是否有任何变化?

mbu*_*ill 9

只是为了澄清这一点,就像SignalR 2一样,你不能用不是来自JSON.NET的串行器替换串行器.但是,可以使用DependacyResolver创建和设置SinglR使用的JSON.NET序列化程序.

这是一个创建新JsonSerializer来处理引用循环的示例:

  protected void Application_Start()
  {
     var serializerSettings = new JsonSerializerSettings();
     serializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Serialize;
     serializerSettings.PreserveReferencesHandling = PreserveReferencesHandling.Objects;

     var serializer = JsonSerializer.Create(serializerSettings);
     GlobalHost.DependencyResolver.Register(typeof(JsonSerializer), () => serializer); 
  }
Run Code Online (Sandbox Code Playgroud)


dav*_*owl 8

在SignalR 2.0中你不能替换JsonSerializer,不再有IJsonSerializer抽象.它始终是JSON.NET.