国产探花免费观看_亚洲丰满少妇自慰呻吟_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】


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临沭县| 彝良县| 怀远县| 临桂县| 敦煌市| 伊宁市| 腾冲县| 阿拉尔市| 遵义县| 福建省| 吴忠市| 济南市| 东城区| 尉氏县| 广安市| 扎囊县| 同德县| 镇赉县| 莱阳市| 乐陵市| 怀宁县| 常熟市| 大田县| 前郭尔| 周至县| 诸暨市| 龙游县| 玉溪市| 明星| 灵山县| 永年县| 南雄市| 海林市| 阳西县| 石景山区| 金寨县| 房产| 柳江县| 阿拉善左旗| 云安县| 长治县|