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

WCF 元資料導出擴展:WSDL 匯出擴展與策略匯出擴展

     編輯:關於.NET

元資料導出不僅包含 WSDL 結構,還涉及繫結相關的 WS-Policy 斷言。WCF 提供兩種擴展機制:WSDL 匯出擴展(IWsdlExportExtension)與 策略匯出擴展(IPolicyExportExtension)。

一、WSDL 匯出擴展(IWsdlExportExtension)

需實作 IWsdlExportExtension 介面,包含兩方法:

public interface IWsdlExportExtension
{
    void ExportContract(WsdlExporter exporter, WsdlContractConversionContext context);
    void ExportEndpoint(WsdlExporter exporter, WsdlEndpointConversionContext context);
}

適用對象:繫結元素(BindingElement)、端點行為、契約行為、操作行為(服務行為不適用)。WsdlExporter 在 ExportContract/ExportEndpoint 結束前,會遍歷所有實作此介面的擴展,將導出的元資料寫入對應的 WsdlContractConversionContext 或 WsdlEndpointConversionContext。

二、策略匯出擴展(IPolicyExportExtension)

專門處理 WS-Policy 斷言導出。繫結元素實作 IPolicyExportExtension:

public interface IPolicyExportExtension
{
    void ExportPolicy(MetadataExporter exporter, PolicyConversionContext context);
}

WsdlExporter.ExportEndpoint 最後階段會建立 PolicyConversionContext,遍歷所有實作此介面的繫結元素呼叫 ExportPolicy,將策略斷言寫入該 Context,最後附加到 WsdlEndpointConversionContext,使最終導出的 WSDL 包含對應的 Policy 斷言(如 WS-Security、WS-ReliableMessaging 等)。

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