Signalr 为signaralpha实现IJsonSerializer

Signalr 为signaralpha实现IJsonSerializer,signalr,Signalr,只是将我的应用程序升级到signaralpha。他们已经更改了IJsonSerializer接口 对于以前的界面,我有: public string Stringify(object obj) { var s = ""; s = JsonConvert.SerializeObject(obj, _settings); return s; } 而且效果很好 现在我正在尝试: public class Custom

只是将我的应用程序升级到signaralpha。他们已经更改了IJsonSerializer接口

对于以前的界面,我有:

   public string Stringify(object obj)
    {
        var s = "";

            s = JsonConvert.SerializeObject(obj, _settings);

        return s;

    }
而且效果很好

现在我正在尝试:

public class CustomJsonNetSerializer : IJsonSerializer
{
    private readonly JsonSerializerSettings _settings;

    public CustomJsonNetSerializer(JsonSerializerSettings settings)
    {
        _settings = settings;
    }

    public object Parse(string json)
    {
        return JsonConvert.DeserializeObject(json);
    }

    public object Parse(string json, Type targetType)
    {
        return JsonConvert.DeserializeObject(json, targetType);
    }

    public T Parse<T>(string json)
    {
        return JsonConvert.DeserializeObject<T>(json);
    }
    public void Serialize(object value, System.IO.TextWriter writer)
    {
        var s = "";

            s = JsonConvert.SerializeObject(value, _settings);

        writer.Write(s);

    }
}

最简单的方法是使用内置序列化程序(JsonNetSerializer)。同时,更改正在序列化的属性的大小写也会中断Signaler。我们正在对此进行研究。

最简单的方法是使用内置序列化程序(JsonNetSerializer)。同时,更改正在序列化的属性的大小写也会中断Signaler。我们正在努力

    JsonNetSerializer mySerialiser;
    public CustomJsonNetSerializer(JsonSerializerSettings settings)
    {         
        mySerialiser = new JsonNetSerializer(settings);
    }



    public void Serialize(object value, System.IO.TextWriter writer)
    {
            mySerialiser.Serialize(value, writer);                   
    }

    public object Parse(string json, Type targetType)
    {
        return mySerializer.Parse(json, targetType);
    }
}