WCF框架處理流程基本功能解析
WCF開發工具是一款功能強大的開發插件,要想熟練應用這一工具,首先需要解決的就是一些基本知識。比如今天我們為大家介紹的有關WCF框架處理流程的相關概念,希望大家可以充分掌握這些基礎技巧。#t#
我們的模擬程序將你搭建一個迷你版的WCF框架,為了展示WCF整個處理流程中使用到一些特殊組件。我們首先來簡單介紹一下對于一個簡單的WCF服務調用,WCF的客戶端和服務端框架的處理流程,和該流程的每一個階段都使用那些重要組件。
下面的列表列出了WCF框架處理流程對于處理一個簡單的WCF服務調用請求所提供的功能,以及相應的功能承載的組件:
請求消息的接收和回復消息的發送:服務端在傳輸層監聽與接收來自客戶的請求,并將經過編碼后的回復消息通過傳輸層發送到客戶端
請求消息的解碼和回復消息的編碼:將接收到的字節數組通過解碼生成請求消息對象,并將回復消息通過編程轉化成字節組。消息的編碼和解碼通過MessageEncoder完成,而MessageEncoderFactory負責創建該對象
請求消息的反序列化和回復消息的序列化:對請求消息進行反序列化,為服務操作的執行生成相應的輸入參數,以及將服務操作執行的結果(返回值或者ref/out參數)序列化,并生成回復消息。序列化和反序列化通過DispatchMessageFormatter完成
服務對象的創建:創建或者激活服務對象實例,InstanceProvider用于服務對象的創建或獲取
服務操作的執行:調用創建的服務對象的操作方法,并傳入經過反序列化生成的輸入參數。OperationInvoker完成對服務操作的最終執行較之服務端的流程,客戶端的流程顯得相對簡單,僅僅包含以下三個必需的階段:
請求消息的序列化和回復消息的反序列化:生成請求消息并將輸入參數序列化到請求消息中,以及對回復消息進行反序列化,轉化成方法調用的返回值或者ref/out參數。序列化和反序列化通過ClienthMessageFormatter完成
請求消息的編碼和回復消息的解碼:對請求消息進行編碼生成字節數組供傳輸層發送,以及將傳輸層接收到的字節數組解碼生成恢復消息。消息的編碼和解碼通過MessageEncoder完成,MessageEncoderFactory負責創建該對象
請求消息的發送和回復消息的接收:在傳輸層將經過編碼的請求消息發送到服務端,以及將接收來自服務端的恢復消息
以上就是對WCF框架處理流程的相關介紹。