WsdlExporter 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將服務、合約和端點資訊轉換為中繼資料文件。
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
- 繼承
範例
下列程式碼範例會示範如何使用 ExportEndpoint 方法,從稱為 MetadataSection 的 ServiceEndpoint 物件集合中的端點產生一組 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 類別將 ContractDescription 或 ServiceEndpoint 物件轉換成由 MetadataSection 物件表示的中繼資料。
WsdlExporter 用於有三個步驟的處理程序中。
呼叫 ExportContract、ExportEndpoint 或 ExportEndpoints 方法,傳遞適當的參數。
藉由檢查基底 Errors 屬性,判斷是否有任何匯出錯誤。
如果沒有錯誤,請使用 GetGeneratedMetadata 取得 MetadataSection 物件的集合,或使用 GeneratedWsdlDocuments 或 GeneratedXmlSchemas 屬性取得中繼資料更特定的版本。
您可以藉由實作 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) |