【.NetRemoting-2】2015.09.17

【Remoting架构】
【1】是.NetFramework的一个重要组成
【2】框架的两个重要特性
【A】基本实现【B】可扩展/可定制

【各个组成部分】
【1】【客户端,客户端应用程序域】
【组成】
【A】代理【Proxy】
【B】格式器【Formatter】
【C】通道【Channel】

【要点】
1.总是通过代理【Proxy】和服务端对象进行交互的
2.【Proxy】知道远程对象的确切位置
【代理与远程对象】
【A】Client向Proxy请求属性或者方法,Proxy将请求发送给服务端对象==>【典型的代理模式】
【B】代理与远程对象的绑定关系

【Proxy】
【两个部分】
【透明代理,Transparent Proxy】
提供和服务对象一致的接口,将【栈帧,Stack Frame】转换为【消息,Message】
【真实代理,Real Proxy】
负责使用【格式化器,Formatter】将消息序列化,终端客户端程序[block],强序列化之后的消息发送到【通道,Channel中】
【消息,Message】
【客户端发送请求的过程】
【obj】-->【透明代理】-->【真实代理】-->【格式化器】-->【通道】---->【到达服务端】

【2】【服务端,宿主应用程序域】
【组成】
【A】通道【Channel】
【B】格式化器【Formatter】
【C】栈生成器【Stack Builder】
【注意】
【A】宿主程序保持对Remoting所打开的端口监听

【服务端处理过程】
保持监听-->【Channel接受到Message】-->【Formatter,反序列化】-->【Stack Builder,创建或获取对象,并调用对象方法,得到方法返回,并封装为消息】-->【Formatter,序列化】-->
【发送给Channel】----->【返回给客户端】

*【Remoting对象【传引用封送】的三种激活方式】
【共同点】
【服务对象创建且一直保持在宿主程序域中】
【A】客户端激活【Client activated】
==>创立专属的远程对象为其服务,对象的状态一直维持着
==>缺点:
    (1)增大服务端压力;(2)浪费服务端系统资源[服务端一直维持对象状态]
【B.1】服务端激活Singleton【Server activated Singleton】
==>所有客户端共享同一个对象,后记的访问不能够重新创建对象,服务类型必须要求提供无参的构造函数
==>考虑线程同步
【B.2】服务端激活SingleCall【Server activated SingleCall】
==>为每一个请求创建一个对象,二在每次方法返回支护销毁对象。
==>不会过久的占用资源
==>不保存对象状态
==>需要求开发者自己写程序逻辑维持状体
==>服务类型必须要求提供无参的构造函数

【服务端激活】==>【Well-KnowOject,WKO】

时间: 2024-10-13 23:15:38

【.NetRemoting-2】2015.09.17的相关文章

【英语学习】2016.09.11 Culture Insider: Teacher's Day in ancient China

Culture Insider: Teacher's Day in ancient China 2016-09-10 CHINADAILY Today is the 32nd Chinese Teacher's Day – a festival celebrating the 2,300-year tradition of respecting teachers and education in China. It's similar to the birthday of Confucius o

【.NetRemoting-3】2015.09.18

[Remoting程序的基本实现] [一]服务程序集 [1]服务对象必须要求继承[MBR,MarshalByRefObject] [二]服务端应用程序 [1]注册通道 [两种类型的通道] [A]发送请求的通道,要求实现IChannelSender 接口 [B]接受请求的通道,要求实现IChannelReceiver 接口 [.Net提供的内置通道]==>均实现了IChannelSender,IChannelReceiver,IChannel [HttpChannel] ==>可实现跨防火墙 =

【周末作业】2015.7.15 第二周 css作业及答案

[作业题] 一.问答题 1. CSS选择器以及引入方式哪几种,CSS选择器有哪些以及它们的优先级 2. 行内元素和块级元素的区别,分别举出6个行内元素和块级元素,块级元素的特点是什么 3. 改变元素外边距是什么属性,改变元素内边距是什么属性 4. 如何让一个div在页面中居中 5. 如何隐藏一个div 6. CSS的注释是什么 7. 怎样定义li列表项目符号为实心矩形 8. margin:5px 2px; 表示什么 9. CSS产生浏览器兼容性问题的原因是什么,举出三个处理浏览器兼容性问题的例子

【大数据】2015 Bossie评选-20个最佳开源大数据技术

2015-10-10 张晓东 东方云洞察东方云洞察 InfoWorld在分布式数据处理.流式数据分析.机器学习以及大规模数据分析领域精选出了2015年的开源工具获奖者,下面我们来简单介绍下这些获奖的技术工具. 1. Spark 在Apache的大数据项目中,Spark是最火的一个,特别是像IBM这样的重量级贡献者的深入参与,使得Spark的发展和进步速度飞快. 与Spark产生最甜蜜的火花点仍然是在机器学习领域.去年以来DataFrames API取代SchemaRDD API,类似于R和Pan

【酷!】2015全球移动互联网大会门票,免费送

一年一度的盛会,移动互联网界规格最高的会议,2015全球移动互联网大会就要召开了. 当然,门票的价格也是高规格的,至少小编还是买不起(囧). 听说,那里边演讲的都是业界顶尖大佬,呼风唤雨的人物: 听说,那里边答疑的都是码农中的精英,独当一面的奇才: 听说,那里边谈论的都是未来的趋势,真金白银的点子: 听说,那里边满满都是妹子,才情兼具… 听说过没见过,到底是什么样子滴 小伙伴们,今年AppCan带你参会带你飞 创业五载的AppCan,首次亮相全球移动互联网大会(GMIC),我们准备了技术.理念.

【重磅推荐】2015年腾讯移动应用质量大数据报告

2015年,随着移动智能设备的普及,移动端用户的增速明显放缓:相比之下,由于云服务.众筹平台.推广平台等基础设施和服务的不断改善,极大降低了创业的门槛,越来越多人投身于移动应用的创新创业中. 想让用户在数百万应用中爱上你的产品,开发者除了要满足用户的需求外,还必须要在快速迭代的过程中保证产品比竞争对手有更好的质量. 在这份报告中,腾讯Bugly和腾讯优测会对2015年Android和iOS平台上的应用质量进行详细盘点,帮助你了解你的产品质量在行业中处于什么位置. 首先,让我们从整体上,回顾一下2

【荣耀归来】2015年度AppCan TOP15创业团队揭晓

五年积淀,牵手前行! 技术到生态的跨越,创新到商业的升级! 11月27日,2015 AppCan 移动云大会在北京圆满落幕,这是一场以移动技术为支撑的移动互联网双创盛宴,在整个会议中,特别安排了 AppCan 创业团队的颁奖和展示环节.来自全国各地的15位创业团队代表登上颁奖台,享受全场嘉宾的祝贺和赞誉,荣耀与自豪,希望与责任一起涌上心头,总结成一句话:荣耀归来,新征程开启! 2010年,AppCan在北京中关村创立,在国内最先提出混合开发模式并潜心研发.2012年,AppCan 1.0 上线,

【编译打包】twemproxy-0.4.1-7.el7.centos.src.rpm

twemproxy 是一个快速且轻量级的memcached/redis 反向代理服务器,用于搭建轻量级的memcached/redis集群. 跟之前的打包版本相比,改进如下 1.版本升级为0.41 2.更好的解决依赖问题 3.使用普通用户身份执行 4.systemd支持 使用方法: unzip twemproxy.zip cd twemproxy ls #twemproxy-0.4.1-7.el7.centos.src.rpm  twemproxy-0.4.1-7.el7.centos.x86_

【年度计划】2015年的愿望

说起来够惭愧的,2015已经过去三分之一了,却还在写着年度计划,完全不是PM的style呦喂.其实年初的时候也做过一些简单的不浮于形式的年度计划,但是时间到了这个节骨眼上还是觉得写下来对自己的监督作用更能保证. 指导方针 好“红”的标题有木有! 过去的一年是初入职场的第一年,感受到了和校园和谐气氛的不一样,这一年像是有点失控的感觉,被手头的事别人的意志推着往前走,慢慢失去自己的方向.这新的一年,要慢慢让自己活得明白,成为自己的船长. 要有不断成长的感觉,要有东西来记录自己的成长. 要有时间来反思