色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

WCF客戶端運行時架構(gòu)體系詳解[下篇]

  前一篇WCF客戶端運行時架構(gòu)體系詳解[上篇]

  當基于某個終結(jié)點創(chuàng)建的ChannelFactory<TChannel>被開啟的之后,位于服務模型層的客戶端運行時框架被成功構(gòu)建。站在編程的角度看ChannelFactory<TChannel>,它就是一個創(chuàng)建用于服務調(diào)用的服務代理對象的工廠。由于服務調(diào)用需要借助于服務代理來完成,我們很有必要從整個客戶端運行架構(gòu)層面來了解服務代理和基于服務代理的服務調(diào)用是如何實現(xiàn)的。

目錄
一、服務代理是一個透明代理
二、服務調(diào)用的流程
      操作選擇
      輸入?yún)?shù)檢驗
      序列化請求消息
      請求消息的發(fā)送和回復消息的接收
      回復消息的檢驗
      反序列化回復消息
      檢驗返回值(或者ref/out參數(shù))

  一、服務代理是一個透明代理

  如果你閱讀了《WCF技術(shù)剖析(卷1)》第8章《客戶端(Client)》,你應該知道通過ChannelFactory<TChannel>創(chuàng)建的服務代理對象是一個“透明代理(Transparent Proxy)”對象。而這可以通過調(diào)用RemotingServices的靜態(tài)方法IsTransparentProxy來檢驗。為此我寫了如下一段簡單的檢驗程序,而輸出的結(jié)果證實了“服務代理是透明代理”的結(jié)論。

using (ChannelFactory<ICalculate> channelFactory new ChannelFactory<ICalculate>("calculateservice"))
{
  ICalculate calculator
= channelFactory.CreateChannel();
  bool isTransparentProxy = RemotingServices.IsTransparentProxy(calculator);
  Console.WriteLine(
"Service porxy is a transparent proxy? {0}.", isTransparentProxy ?"Yes" : "No");
}

NET技術(shù)WCF客戶端運行時架構(gòu)體系詳解[下篇],轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 浪卡子县| 马关县| 安多县| 辽阳县| 义乌市| 库车县| 甘德县| 历史| 普格县| 聂荣县| 蛟河市| 清原| 盐池县| 峨山| 武穴市| 任丘市| 来安县| 黄浦区| 苍梧县| 竹山县| 华蓥市| 福泉市| 崇义县| 祁阳县| 佛冈县| 罗江县| 高密市| 丹江口市| 泸州市| 璧山县| 垦利县| 东源县| 长泰县| 泾川县| 滨海县| 中山市| 泸定县| 甘谷县| 定兴县| 怀安县| 通州市|