WsdlExporter Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Converte le informazioni sul servizio, sul contratto e sull'endpoint in documenti di metadati.
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
- Ereditarietà
Esempio
Nell'esempio di codice seguente viene illustrato come utilizzare il ExportEndpoint metodo per generare un set di MetadataSection oggetti dagli endpoint in una raccolta di ServiceEndpoint oggetti denominati 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
Commenti
Utilizzare la WsdlExporter classe per trasformare o ServiceEndpoint oggetti ContractDescription in metadati rappresentati da MetadataSection oggetti .
Viene WsdlExporter usato in un processo in tre passaggi.
Chiamare il ExportContractmetodo , ExportEndpointo ExportEndpoints passando i parametri appropriati.
Determinare se sono presenti errori di esportazione controllando la proprietà di base Errors .
Se non sono presenti errori, utilizzare per GetGeneratedMetadata ottenere una raccolta di MetadataSection oggetti o ottenere versioni più specifiche dei metadati utilizzando le GeneratedWsdlDocuments proprietà o GeneratedXmlSchemas .
È possibile supportare l'esportazione di estensioni WSDL personalizzate implementando l'interfaccia IWsdlExportExtension e le asserzioni di criteri personalizzate implementando l'interfaccia IPolicyExportExtension . Per informazioni dettagliate, vedere la documentazione per tali interfacce.
Annotazioni
WsdlExporter Può essere usato solo per esportare metadati da ContractDescription istanze che contengono informazioni sul tipo CLR (Common Language Runtime), ad esempio un'istanza ContractDescription creata usando il ContractDescription.GetContract metodo o creata come parte di per un'istanza ServiceDescriptionServiceHost di . Non è possibile utilizzare WsdlExporter per esportare i metadati dalle istanze importate dai ContractDescription metadati del servizio o costruite senza informazioni sul tipo.
Costruttori
| Nome | Descrizione |
|---|---|
| WsdlExporter() |
Inizializza una nuova istanza della classe WsdlExporter. |
Proprietà
| Nome | Descrizione |
|---|---|
| Errors |
Ottiene una raccolta di errori che si sono verificati durante l'esportazione dei metadati. (Ereditato da MetadataExporter) |
| GeneratedWsdlDocuments |
Ottiene una raccolta di ServiceDescription oggetti dopo aver chiamato uno dei metodi di esportazione. |
| GeneratedXmlSchemas |
Ottiene un set di XmlSchema oggetti dopo aver chiamato uno dei metodi di esportazione. |
| PolicyVersion |
Specifica la versione di WS-Policy specifica utilizzata. (Ereditato da MetadataExporter) |
| State |
Ottiene un dizionario di oggetti utilizzati nell'esportazione dei metadati. (Ereditato da MetadataExporter) |
Metodi
| Nome | Descrizione |
|---|---|
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| ExportContract(ContractDescription) |
Esporta metadati che descrivono solo le informazioni sul contratto dalla descrizione del contratto specificata. |
| ExportEndpoint(ServiceEndpoint) |
Genera metadati sull'endpoint specificato. |
| ExportEndpoints(IEnumerable<ServiceEndpoint>, XmlQualifiedName) |
Genera metadati relativi a un gruppo di endpoint da un servizio specificato. |
| ExportPolicy(ServiceEndpoint) |
Converte le asserzioni di criteri in un PolicyConversionContext oggetto . (Ereditato da MetadataExporter) |
| GetGeneratedMetadata() |
Restituisce un insieme enumerabile di oggetti generati MetadataSection . |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |