标签:研究 sage 问题 连接 序列化 cer color get 消费
最近在使用EasyNetQ时,遇到一个问题:c++项目组发送的消息数据不是Json数据,而是自定义的数据格式(各字段+‘|’连接成一个字符串),EasyNetQ中消费消息接收的都是强类型,没办法直接消费一个字符串作为一个消息。没办法只好研究EasyNetQ的源码,发现有一个ISerializer接口,只要实现一个自定义的Serializer并注入即可。
public class GameLogSerializer : ISerializer { public T BytesToMessage<T>(byte[] bytes) { //实现自定义的反序列化代码 } public object BytesToMessage(Type type, byte[] bytes) { //实现自定义的反序列化代码 } public byte[] MessageToBytes<T>(T message) where T : class { //实现自定义的序列化代码 } }
使用Bus的时候注入序列化器:
var bus = RabbitHutch.CreateBus("host", serviceRegister => serviceRegister.Register<ISerializer, GameLogSerializer>());
标签:研究 sage 问题 连接 序列化 cer color get 消费
原文地址:https://www.cnblogs.com/focus-lei/p/9262638.html