共用方式為


WsdlExporter 類別

定義

將服務、合約和端點資訊轉換為中繼資料文件。

public ref class WsdlExporter : System::ServiceModel::Description::MetadataExporter
public class WsdlExporter : System.ServiceModel.Description.MetadataExporter
type WsdlExporter = class
    inherit MetadataExporter
Public Class WsdlExporter
Inherits MetadataExporter
繼承
WsdlExporter

範例

下列程式碼範例會示範如何使用 ExportEndpoint 方法,從稱為 MetadataSectionServiceEndpoint 物件集合中的端點產生一組 myServiceEndpoints 物件。

using System;
using System.ServiceModel;
using System.ServiceModel.Description;

namespace WsdlExporterSample
{
    class Program
    {
        static void Main(string[] args)
        {
            WsdlExporter exporter = new WsdlExporter();
            exporter.PolicyVersion = PolicyVersion.Policy15;

            ServiceEndpoint [] myServiceEndpoints = new ServiceEndpoint[2];
            ContractDescription myDescription = new ContractDescription ("myContract");
            myServiceEndpoints[0] = new ServiceEndpoint(myDescription,new BasicHttpBinding(),new EndpointAddress("http://localhost/myservice"));
            myServiceEndpoints[1] = new ServiceEndpoint(myDescription,new BasicHttpBinding(),new EndpointAddress("http://localhost/myservice"));

            // Export all endpoints for each endpoint in collection.
            foreach (ServiceEndpoint endpoint in myServiceEndpoints)
            {
                exporter.ExportEndpoint(endpoint);
            }
            // If there are no errors, get the documents.
            MetadataSet metadataDocs = null;
            if (exporter.Errors.Count != 0)
            {
                metadataDocs = exporter.GetGeneratedMetadata();
            }
        }
    }
}
Imports System.ServiceModel
Imports System.ServiceModel.Description

Module Module1

    Sub Main()
        Dim exporter As New WsdlExporter()
        exporter.PolicyVersion = PolicyVersion.Policy15

        Dim myServiceEndpoints() As ServiceEndpoint = New ServiceEndpoint(1) {}
        Dim myDescription As New ContractDescription("myContract")
        myServiceEndpoints(0) = New ServiceEndpoint(myDescription, New BasicHttpBinding(), New EndpointAddress("http://localhost/myservice"))
        myServiceEndpoints(1) = New ServiceEndpoint(myDescription, New BasicHttpBinding(), New EndpointAddress("http://localhost/myservice"))

        'Export all endpoints for each endpoint in collection.
        For Each endpoint As ServiceEndpoint In myServiceEndpoints
            exporter.ExportEndpoint(endpoint)
        Next

        'If there are no errors, get the documents.
        Dim metadataDocs As MetadataSet
        metadataDocs = Nothing

        If (exporter.Errors.Count = 0) Then
            metadataDocs = exporter.GetGeneratedMetadata()
        End If
    End Sub

End Module

備註

您可以使用 WsdlExporter 類別將 ContractDescriptionServiceEndpoint 物件轉換成由 MetadataSection 物件表示的中繼資料。

WsdlExporter 用於有三個步驟的處理程序中。

  1. 呼叫 ExportContractExportEndpointExportEndpoints 方法,傳遞適當的參數。

  2. 藉由檢查基底 Errors 屬性,判斷是否有任何匯出錯誤。

  3. 如果沒有錯誤,請使用 GetGeneratedMetadata 取得 MetadataSection 物件的集合,或使用 GeneratedWsdlDocumentsGeneratedXmlSchemas 屬性取得中繼資料更特定的版本。

您可以藉由實作 IWsdlExportExtension 介面來支援匯出自訂 WSDL 延伸,而藉由實作 IPolicyExportExtension 介面來支援自訂原則判斷提示。 如需詳細資訊,請參閱這些介面的文件。

注意

WsdlExporter 只能用於從包含 Common Language Runtime (CLR) 型別資訊的 ContractDescription 執行個體匯出中繼資料,例如使用 ContractDescription 方法建立或建立做為 ContractDescription.GetContract 執行個體的 ServiceDescription 的一部分的 ServiceHost 執行個體。 對於從服務中繼資料匯入或是未使用型別資訊建構的 WsdlExporter 執行個體,則無法使用 ContractDescription 從這類執行個體匯出中繼資料。

建構函式

WsdlExporter()

初始化 WsdlExporter 類別的新執行個體。

屬性

Errors

取得在匯出中繼資料期間發生的錯誤集合。

(繼承來源 MetadataExporter)
GeneratedWsdlDocuments

在呼叫其中一個匯出方法之後,取得 ServiceDescription 物件的集合。

GeneratedXmlSchemas

在呼叫其中一個匯出方法之後,取得一組 XmlSchema 物件。

PolicyVersion

指定所要使用的 WS-Policy 規格版本。

(繼承來源 MetadataExporter)
State

取得匯出中繼資料所使用的物件字典。

(繼承來源 MetadataExporter)

方法

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
ExportContract(ContractDescription)

從指定的合約描述匯出只描述合約資訊的中繼資料。

ExportEndpoint(ServiceEndpoint)

產生有關指定端點的中繼資料。

ExportEndpoints(IEnumerable<ServiceEndpoint>, XmlQualifiedName)

從指定服務產生有關端點群組的中繼資料。

ExportPolicy(ServiceEndpoint)

將原則判斷提示轉換成 PolicyConversionContext 物件。

(繼承來源 MetadataExporter)
GetGeneratedMetadata()

傳回產生的 MetadataSection 物件的可列舉集合。

GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

適用於