思胜.net高级培训基础视频3学员笔记_第1页
思胜.net高级培训基础视频3学员笔记_第2页
思胜.net高级培训基础视频3学员笔记_第3页
思胜.net高级培训基础视频3学员笔记_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大家在学习过程中有任何技术问题可以提问到思胜技术问题版块,思胜帮大家免费解决,大家一起学习,共同进步!地址: HYPERLINK http:/w/ http:/w/forum/forum.1、 策略模式与序列化2、 可空类型3、 京东类型,怎么搞呢?数据库的峰值问题。如何处理 存数据库 信息队列(空间换时间,先来先走,数据结构,有效的资源换取最大的效果)全部使用策略模式订单汇总等等信息队列基于微软的消息队列(序列化)队列本身是一个,数据库也是一个,在内存中,但是内存中也够保存呢? 而且停电呢? 怎么办呢? 要保证队列的可靠性,所以需要使用单独的队列。消息队列,很高级的,大型的服务器Q,存在磁盘

2、,安全可靠怎么放呢?还有事务的操作性处理大量的数据 相比的好处就是相当地块 迅速那么就必须对放入的数据进行序列化大量的数据 为日后争取到时间 那么把内存中的信息序列化 变成信息队列 进行网络传输利用反射 可以写通用的程序 写了好几种序列化的程序 2 进制的序列化程序namespaerializationSclass Programlesic void Main(string args)jobs = new jobs.Name = Jobs; jobs.Age = 50;jobs.Sex = meal;();/ 使用反射,取得对象的类型System.Type type = typeof();/

3、利用反射取得所有的公段System.Reflection.FieldInfo fields = type.GetFields();foreach (System.Reflection.FieldInfo field in fields)Console.WriConsole.Wri Console.Wriine(field.Name); ine(field.FieldType);ine();/从哪个对象获取值Console.WriConsole.Wriine(field.GetValue(jobs);ine();/System.Serializable可序列化/ 下面看一下系统提供的二进制序列化

4、程序System.Runtime.Serialization.Formatters.Binary.BinaryFormatter formatter= new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();/ 提供一个字节流System.IO.MemoryStream ms = new System.IO.MemoryStream();/将对象序列化formatter.Serialize(ms, jobs);byte buffer = ms.ToArray();Console.Wriine(BitConvert

5、er.ToString(buffer);Console.Read();XML 2进制 Json的 2进制速度快 省内存 其他方式慢,占内存但是是可以限制不序列化的 System.Serializable System.NonSerializedIs Serializable接口Xml序列化 soap协议要加DLL system.runtime . Serialization.Formatters基于 soap 协议的 xml 的序列化Json 方式下 “age”:50序列化器很多种,因为应对很多不同的浏览器、服务器、程序等等分布式开发的基础必须要装消息队列MSSQ 程序 打开与关闭 windo

6、ws 信息队列公共队列是 server 的System messaging创建消息队列检查 删除 创建 使用Send 发对象 对象被序列化,然后发进去。会查看到一个小信封还可以在队列中消息 但是是被序列话之后的消息 所以必须要做一个反序列化所以需要指定一个正确的序列化器 这个时候就需要注意一下了怎么使用序列化器呢?如何查看的信息呢?namespace MessageSleclass Programsic void Main(string args)/也可以使用代码来创建和删除消息队列if (System.Messaging.MessageQueue.Exists(.Private$order)

7、System.Messaging.MessageQueue.Delete(.Private$order);Console.Wriine(已经删除 Order 消息队列);Console.ReadLine();/ 创建System.Messaging.MessageQueue.Create(.Private$order); Console.ReadLine();/ 使用消息队列System.Messaging.MessageQueue queue= new System.Messaging.MessageQueue(.Private$order);/ 发送消息queue.Send(o, worl

8、d.);/ 以后,可以在队列中消息System.Messaging.Message msg = queue.Receive();/ 消息中保存的是已经序列化之后的信息/ 需要指定正确的序列化器System.Messaging.XmlMessageFormatter formatter= new System.Messaging.XmlMessageFormatter( new System.Type typeof( string);msg.Formatter = formatter;/ 获取信息stringo = msg.Body as string;Console.Wriine(o);Con

9、sole.Read();查看实际信息默认是 XML 的那么应用在的 petshop 中就应该是在工具中定义好insert 与 get 呢?用消息队列账目的信息的方法,这个时候是先删除 再新增 而 get 呢 是 获取抓取 再转是传入的是 OrderM那么就要序列化 然后存为消息队列即可 但是/ 以后,可以在队列中消息System.Messaging.Message msg = queue.Receive();/ 消息中保存的是已经序列化之后的信息/ 需要指定正确的序列化器System.Messaging.XmlMessageFormatter formatter= new System.Messaging.XmlMessageFormatter( new System.Type typeof( string);msg.Formatter =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论