首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

WCF 元資料架構全景:WS-MEX、WS-Policy、WS-Transfer、WSDL 標準詳解

     編輯:關於.NET

WCF 元資料體系建立在開放標準之上,核心為 WS-MetadataExchange (WS-MEX),輔以 WS-Policy、WS-Transfer、WSDL 等規範。本文系統介紹這些標準的關鍵結構與交互流程。

一、WS-Policy:策略斷言框架

描述 Web 服務能力、需求、行為屬性。核心結構:

  • 策略表達式:標準形式 (wsp:Policy) 與簡寫形式,由策略選擇項集合組成。
  • 策略選擇項:wsp:ExactlyOne 下的 wsp:All 群組,表示滿足其中一組斷言即可。
  • 策略斷言:單一行為屬性,由斷言類型 (QName) 與參數組成,支援巢狀嵌套。
  • 策略操作符:ExactlyOne(滿足其一)、All(全部滿足)。

圖 1 策略表達式結構圖

二、WS-Transfer:資源存取協定

基於 SOAP 與 WS-Addressing,定義四種資源操作:Get、Put、Delete、Create。各操作的請求/回覆訊息結構、Action 值、Body 內容均有嚴格規範。WS-MEX 採用 Get 取得元資料資源。

三、WSDL 1.1:服務描述語言

五大元素:Types (XML Schema)、Message、PortType、Binding、Service。支援四種訊息交換模式:單工、請求-回覆、懇請-回覆、通知。Binding 實現抽象操作與具體協議/格式綁定(如 SOAP over HTTP)。Service 聚合多個 Port(端點)。

圖 2 WSDL 5 個元素之間的引用關系

四、WS-MEX:元資料交換標準

規範元資料如何表示為 WS-Transfer 資源、內嵌於 WS-Addressing EPR、以及兩種獲取方式:

  1. WS-Transfer Get:直接對元資料資源發送 Get 請求,回覆 Body 含 <mex:Metadata>,內為多個 <mex:MetadataSection>,各以 Dialect 標示方言(WSDL、XML Schema、WS-Policy 等)。
  2. Get Metadata:針對多資源共用端點或無法尋址資源的場景,請求 Body 含 <mex:GetMetadata> 可指定 Dialect/Identifier,回覆同樣包裹於 <mex:Metadata>。

圖 3 Metadata、MetadataSection 與三種典型的元資料表現形式

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved