IWsdlImportExtension Interface

Définition

Implémentez et attachez à un WsdlImporter objet pour contrôler la façon dont l’importateur mappe les composants WSDL (Web Services Description Language) à ceux d’un ServiceDescription objet.

public interface class IWsdlImportExtension
public interface IWsdlImportExtension
type IWsdlImportExtension = interface
Public Interface IWsdlImportExtension
Dérivé

Exemples

L’exemple de code suivant montre l’utilisation d’un IWsdlImportExtension et d’un System.ServiceModel.Description.IServiceContractGenerationExtensionSystem.ServiceModel.Description.IOperationContractGenerationExtension (le WsdlDocumentationImporter, dans ce cas) pour modifier le code client WCF généré au niveau de l’interface et de l’opération.

  public void ImportContract(WsdlImporter importer, WsdlContractConversionContext context)
  {
Console.Write("ImportContract");
      // Contract Documentation
      if (context.WsdlPortType.Documentation != null)
      {
  context.Contract.Behaviors.Add(new WsdlDocumentationImporter(context.WsdlPortType.Documentation));
      }
      // Operation Documentation
      foreach (Operation operation in context.WsdlPortType.Operations)
      {
          if (operation.Documentation != null)
          {
              OperationDescription operationDescription = context.Contract.Operations.Find(operation.Name);
              if (operationDescription != null)
              {
      operationDescription.Behaviors.Add(new WsdlDocumentationImporter(operation.Documentation));
              }
          }
      }
  }

L’exemple de code suivant montre comment configurer le système de métadonnées client pour utiliser le personnalisé IWsdlImportExtension à partir d’un fichier de configuration d’application.

<system.serviceModel>
    <client>
      <endpoint 
        address="http://localhost:8000/Fibonacci" 
        binding="wsHttpBinding"
        contract="IFibonacci"
      />
      <metadata>
        <wsdlImporters>
          <extension type="Microsoft.WCF.Documentation.WsdlDocumentationImporter, WsdlDocumentation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
        </wsdlImporters>
      </metadata>
    </client>
  </system.serviceModel>

Remarques

Implémentez l’interface IWsdlImportExtension pour contrôler le mappage entre WSDL et ServiceEndpoint les ContractDescription objets, en particulier lors de la lecture d’extensions WSDL personnalisées pour modifier vos informations de contrat ou de point de terminaison. Attachez ensuite votre objet personnalisé IWsdlImportExtension à un WsdlImporter fichier de configuration d’application par programmation ou par programmation. Vous pouvez également attacher votre objet personnalisé IWsdlImportExtension à l’objet interne WsdlImporter utilisé par l’outil utilitaire de métadonnées ServiceModel (Svcutil.exe) à l’aide d’un fichier de configuration d’application.

La ImportContract méthode est appelée pour importer un contrat.

Utilisez la BeforeImport méthode pour modifier les métadonnées qui sont ensuite importées dans et ServiceEndpoint objetsContractDescription.

Méthodes

Nom Description
BeforeImport(ServiceDescriptionCollection, XmlSchemaSet, ICollection<XmlElement>)

Appelé avant l’importation de documents de métadonnées.

ImportContract(WsdlImporter, WsdlContractConversionContext)

Appelé lors de l’importation d’un contrat.

ImportEndpoint(WsdlImporter, WsdlEndpointConversionContext)

Appelé lors de l’importation d’un point de terminaison.

S’applique à