【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】

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

  1. 【.NetRemoting-3】2015.09.18

    [Remoting程序的基本实现] [一]服务程序集 [1]服务对象必须要求继承[MBR,MarshalByRefObject] [二]服务端应用程序 [1]注册通道 [两种类型的通道] [A]发送请 ...

  2. 【Unity|C#】基础篇(17)——字符串处理(String/StringBuilder)

    [学习资料] <C#图解教程>(第25章):https://www.cnblogs.com/moonache/p/7687551.html 电子书下载:https://pan.baidu. ...

  3. 【codeforces】【比赛题解】#855 Codefest 17

    神秘比赛,以<哈利波特>为主题……有点难. C题我熬夜切终于是写出来了,可惜比赛结束了,气啊. 比赛链接:点我. [A]汤姆·里德尔的日记 题意: 哈利波特正在摧毁神秘人的分灵体(魂器). ...

  4. 【JavaScript Weekly】#471 — JANUARY 17, 2020

    https://javascriptweekly.com/issues/471 #471 — JANUARY 17, 2020 READ ON THE WEB JavaScript Weekly Ba ...

  5. 【转帖】2015年2月份最佳的免费 UI 工具包

    2015年2月份最佳的免费 UI 工具包 设计师们最喜欢 UI 工具包,这是一种思路拓展的方法,同时可以利用它们来解决各种复杂的项目,同时可用来了解其他设计师的风格.这里我们收集了最近这一个月一些最棒 ...

  6. 【英语学习】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 Te ...

  7. 【python基础】第09回 数据类型内置方法 01

    本章内容概要 1.数据类型的内置方法简介 2.整型相关方法 3.浮点型相关方法 4.字符串相关方法 5.列表相关方法 本章内容详情 1.数据类型的内置方法简介 数据类型是用来记录事物状态的,而事物的状 ...

  8. 【.Net Remoting-1】

    [.NetRemoting]2015.09.16 [分布式应用程序] 应用程序分布在不同计算机上,通过网络来共同完成一项任务 C/S架构[模式] [互操作性,Interoperability]又称[互 ...

  9. NPOI2.2.0.0实例详解(十)—设置EXCEL单元格【文本格式】 NPOI 单元格 格式设为文本 HSSFDataFormat

    NPOI2.2.0.0实例详解(十)—设置EXCEL单元格[文本格式] 2015年12月10日 09:55:17 阅读数:3150 using System; using System.Collect ...

随机推荐

  1. 写个点击input框 下方弹出月份时间等

    <input type="text" name="test" id="test" value="" "& ...

  2. Python初学

    经同学推荐,学习了下Python语言,看Python的介绍,它本身是一个面向对象的解释型脚本语言,我初看到这句话的时候就在想,一个脚本语言还搞成面向对象?有这个必要么?原谅我肤浅了一把. 它还被俗称为 ...

  3. yii2 去掉index.php的方法

    1.开启apache-rewrite 在Windows下,我们一般使用的是Administrator账号,所以启用这两项非常简单: 在[Apache安装目录]/conf/httpd.conf中找到 # ...

  4. MySQL游标操作指南

    本篇文章是对MySQL游标的具体使用进行了详细的分析介绍,需要的朋友参考下   测试表 level  代码如下: create table test.level (name varchar(20)); ...

  5. 【设计模式:单例模式】使用单例模式加载properties文件

    先准备测试程序: package org.jediael.util; import static org.junit.Assert.*; import org.junit.Test; public c ...

  6. Tomcat学习笔记 - 错误日志 - Tomcat部署项目或修改xml配置出现无法保存的情况(拒绝访问)

    原因分析:(windows下) 可能有人会发现在编辑好 tomcat-users.xml 文件后无法保存,原因是使用的用户没有权限修改文件,可能是把 Tomcat 发行包放到了一个需要管理员权限才能修 ...

  7. linux下安装pdf

    官方下载地址:http://www.foxitsoftware.cn/downloads/ 问题:下载官方包以后解压,双击不能打开,也没有任何提示. 用teminal 来打开foxitreader,t ...

  8. inPolygonTest学习和C++实现

    大家好,我是小鸭酱,博客地址为:http://www.cnblogs.com/xiaoyajiang 此篇博客实现了判定平面一点是否在给定多边形内部的功能.精确,性能优良,因为只包含加法和乘法运算,效 ...

  9. codecomb 2090【最小乘积路】

    题目描述 给定n个点的带权有向图,求从1到n的路径中边权之积最小的简单路径. 输入格式 第一行读入两个整数n,m,表示共n个点m条边. 接下来m行,每行三个正整数x,y,z,表示点x到点y有一条边权为 ...

  10. 外部样式OL LI的定义 影响到了富文本框内的UL LI的定义,使用内部样式对其还原

    <style type="text/css"> #intro { white-space: normal; word-break: break-all; overflo ...