框架的介绍:1.已经完成了对于消息内部类型的支持(int,short,long,uint,ushort,ulong,bool,float,double,byte,sbyte,byte[],decim
框架的介绍:
1. 已经完成了对于消息内部类型的支持(int, short, long, uint, ushort, ulong, bool ,float, double, byte, sbyte, byte[], decimal, DateTime, IntPtr, Guid)
2. 支持内部序列化元数据(.NET可序列化的对象)
3. 对于智能对象内部的“智能对象”提供支持。 支持迭代元数据转换。
[说明]
KJFramework框架中内置了一套,可以将网络传输实体自动转换为二进制元数据的能力框架。
使用此框架,将使得用户不在关心底层传输时对于二进制编码/解码的繁琐过程,解放程序员的脑力劳动。
目前此内置框架被初步定义在命名空间:KJFramework.Messages内,拥有独立Assembly.
对于智能二进制消息框架, 内部提供了对于诸多类型的支持,甚至可以用于在不编写序列化代码的情况下,
将一个网络传输实体转换为二进制操作。
这一切的操作,都全部由内部框架完成,通过简单的属性标签,就可以实现很强大的转换功能。
目前智能二进制消息框架中,仍保留了内部扩展能力,日后扩展后,将会通过配置文件来增强配置能力。
新优化
这是一次,针对 固定字节数量类型的数组优化。 我们为一些常用的数组类型定制了
极致性的托管指针优化方案,通过这个解决方案,直接降低了GC的压力,指定数组类型
在具有更多元素的场景下序列化/反序列化,将会更快速!
这次更新所影响的数组类型: int[], short[], float[], bool[], Guid[], double[]
经过测试后我们不难发现,此次更新将会在特定场景中平均比原来的解决方案快一倍!
特定场景如下:
#智能对象内部含有多个数组,并且数组的类型为这次更新所支持的类型
#数组元素很多
我们来看一下这次更新的具体改动:
1. 修改了序列化/反序列化引擎的处理流程,为特定类型的数组做特殊优化处理
2. 为这次更新所支持的数组类型新建了ArrayProcessor.
3. 向外部公开了一个数组优化处理器映射类ArrayTypeProcessorMapping,如果使用者不使用此类
则除去本次更新以外的数组类型都会走原来的老分支逻辑。 如果使用者为指定类型数组创建processor
并注册到开放的映射类中,我们的引擎将会优先使用已经注册的相应processor!