国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

【.NetRemoting-2】2015.09.17

2019-11-14 13:59:37
字體:
來源:轉載
供稿:網友

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 旬邑县| 龙陵县| 龙江县| 六盘水市| 浮山县| 抚宁县| 财经| 南平市| 同仁县| 满洲里市| 合山市| 博客| 昭通市| 博兴县| 卫辉市| 恩施市| 垦利县| 长泰县| 丘北县| 潜江市| 汪清县| 邢台市| 乐陵市| 荣昌县| 汝阳县| 宜宾市| 城步| 谢通门县| 镶黄旗| 柳河县| 大安市| 旬邑县| 富顺县| 江陵县| 栾川县| 遵义县| 巴彦淖尔市| 黎川县| 托里县| 盐城市| 吉安县|