同创主悦科技是传销么:KJFramework.Messages 智能二进制消息框架

来源:百度文库 编辑:中财网 时间:2024/05/02 06:14:34


Register | Sign In | CodePlex Home

HomeDownloadsDocumentationDiscussionsIssue TrackerSource CodePeopleLicense RSS 
View All Comments | Print View | Page Info | Change History (all pages)

Home
KJFramework.Messages 智能二进制消息框架
KJFramework框架中内置了一套,可以将网络传输实体自动转换为二进制元数据的能力框架。
使用此框架,将使得用户不在关心底层传输时对于二进制编码/解码的繁琐过程,解放程序员的脑力劳动。
目前此内置框架被初步定义在命名空间:KJFramework.Messages内,拥有独立Assembly.
对于智能二进制消息框架, 内部提供了对于诸多类型的支持,甚至可以用于在不编写序列化代码的情况下,
将一个网络传输实体转换为二进制操作。
这一切的操作,都全部由内部框架完成,通过简单的属性标签,就可以实现很强大的转换功能。
目前智能二进制消息框架中,仍保留了内部扩展能力,日后扩展后,将会通过配置文件来增强配置能力。
智能对象的声明:
//注意, 必须为需要序列化的对象继承自IntellectObjectpublic class TestObject : IntellectObject{ [IntellectProperty(0)] public string Name{get; set;}}
序列化:
TestObject obj = new TestObj{Name = "Kevin"};//序列化类到字节数组.obj.Bind();/*当然使用者可以选择使用obj.IsBind属性来检查当前的对象是否已经成功的序列化为字节数组if(obj.IsBind){//TO DO: anything.}*///得到序列化好的字节数组byte[] data = obj.Body;
反序列化:
//我们来说说反序列化吧,更加单 :) //我们接着上面的代码来写。TestObj newObj = IntellectObjectEngine.GetObject(typeof(TestObj), data);
获取对象描述信息:
*获取对象的描述信息, 将会使我们能够更加简单的将一个对象记录到日志文件中
//我们接着上面的说, 获取对象的描述信息只需要下面的一行newObj.ToString();
性能指标(New):
*请注意: 由于性能的提升, 我们在10月31日更新了性能指标!
*此框架的基于.NETFRAMEWORK 4.0开发
*以下测试指标所采用的智能对象为一个结构很复杂的对象, 如果您想了解更多, 请转至以下网址进行查看:http://www.cnblogs.com/umbrella_yang/archive/2011/10/31/2230469.html
测试平台:
CPU: Intel(R)Xeon(R)CPU X5670 @2.93GHz @2.93GHz (2处理器)
System: Windows Server 2008 R2 Enterprise
序列化复杂对象(DEBUG):
.次数 100000:  2066(ms)   *此值根据测试机器的配置不同而不同,仅供参考
.Gen0回收次数: 49
.Gen1回收次数: 48
.Gen2回收次数: 1
反序列化复杂对象(DEBUG):
.次数 100000:  1350(ms)    *此值根据测试机器的配置不同而不同,仅供参考
.Gen0回收次数: 22
.Gen1回收次数: 1
.Gen2回收次数: 0
序列化复杂对象(RELEASE):
.次数 100000:  1683(ms)   *此值根据测试机器的配置不同而不同,仅供参考
.Gen0回收次数: 49
.Gen1回收次数: 48
.Gen2回收次数: 1
反序列化复杂对象(RELEASE):
.次数 100000:  1077(ms)    *此值根据测试机器的配置不同而不同,仅供参考
.Gen0回收次数: 22
.Gen1回收次数: 1
.Gen2回收次数: 0
*具体的测试截图, 请查看源代码Pictures目录下的图片.