使用ServiceStack.Text作为SignalR的JSON Serializer

使用ServiceStack.Text作为SignalR的JSON Serializer,第1张

概述为了在我的应用程序层中实现一致的序列化,我想使用与其他地方使用的SignalR相同的序列化库(ServiceStack.Text). 在遵循SignalR的Wiki entry替换使用的JSON Serializer时,我创建了这个基本的处理程序: public class SignalrServiceStackJsonSerializer : IJsonSerializer{ publ 为了在我的应用程序层中实现一致的序列化,我想使用与其他地方使用的SignalR相同的序列化库(ServiceStack.Text).

在遵循SignalR的Wiki entry替换使用的JsON Serializer时,我创建了这个基本的处理程序:

public class SignalrserviceStackJsonSerializer : IJsonSerializer{    public voID Serialize(object value,TextWriter writer)    {        var selfSerializer = value as IJsonWritable;        if (selfSerializer != null)            selfSerializer.WriteJson(writer);        else            JsonSerializer.SerializetoWriter(value,writer);    }    public object Parse(TextReader reader,Type targettype)    {        return JsonSerializer.Deserializefromreader(reader,targettype);    }}

积分:

var serializer = new SignalrserviceStackJsonSerializer();GlobalHost.DependencyResolver.Register(typeof(IJsonSerializer),() => serializer);

不幸的是,在集成它之后,SignalR Js客户端确实获得了与默认序列化器不同的包.看起来,默认的序列化程序生成(至少对于非用户消息)JsON,其属性上限为1个字符,在用ServiceStack.Text替换后不会发生.因此,SignalR尝试访问“我”但它收到“ID”.我无法找到SignalR服务器端源代码的各个部分.

我做错了什么或者我是否必须创建一个更复杂的包装器来将ServiceStack.Text用作JsON序列化器?

解决方法 我不打扰尝试.我们对JsON.NET有很强的依赖性,我们甚至在下一个版本中删除了这种可扩展性.抱歉. 总结

以上是内存溢出为你收集整理的使用ServiceStack.Text作为SignalR的JSON Serializer全部内容,希望文章能够帮你解决使用ServiceStack.Text作为SignalR的JSON Serializer所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1136150.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存