IWsdlImportExtension Interface
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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. |