IWsdlImportExtension Interface
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Implementeer en koppel deze aan een WsdlImporter object om te bepalen hoe de importfunctie WSDL-onderdelen (Web Services Description Language) toedeelt aan die van een ServiceDescription object.
public interface class IWsdlImportExtension
public interface IWsdlImportExtension
type IWsdlImportExtension = interface
Public Interface IWsdlImportExtension
- Afgeleid
Voorbeelden
In het volgende codevoorbeeld ziet u hoe IWsdlImportExtension u een System.ServiceModel.Description.IServiceContractGenerationExtension en een System.ServiceModel.Description.IOperationContractGenerationExtension ( WsdlDocumentationImporterin dit geval) toevoegt om gegenereerde WCF-clientcode op interface- en bewerkingsniveau te wijzigen.
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));
}
}
}
}
In het volgende codevoorbeeld ziet u hoe u het metagegevenssysteem van de client configureert voor het gebruik van het aangepaste IWsdlImportExtension bestand van een toepassingsconfiguratiebestand.
<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>
Opmerkingen
Implementeer de IWsdlImportExtension interface om de toewijzing tussen WSDL en ServiceEndpointContractDescription objecten te beheren, met name bij het lezen van aangepaste WSDL-extensies om uw contract- of eindpuntgegevens te wijzigen. Voeg vervolgens uw aangepaste IWsdlImportExtension object WsdlImporter programmatisch of met behulp van een toepassingsconfiguratiebestand toe. U kunt uw aangepaste IWsdlImportExtension object ook koppelen aan het interne WsdlImporter object dat wordt gebruikt door het hulpprogramma voor metagegevens van ServiceModel (Svcutil.exe) met behulp van een toepassingsconfiguratiebestand.
De ImportContract methode wordt aangeroepen om een contract te importeren.
Gebruik de BeforeImport methode om de metagegevens te wijzigen die vervolgens worden geïmporteerd in ServiceEndpoint en ContractDescription objecten.
Methoden
| Name | Description |
|---|---|
| BeforeImport(ServiceDescriptionCollection, XmlSchemaSet, ICollection<XmlElement>) |
Wordt aangeroepen voordat metagegevensdocumenten worden geïmporteerd. |
| ImportContract(WsdlImporter, WsdlContractConversionContext) |
Wordt aangeroepen bij het importeren van een contract. |
| ImportEndpoint(WsdlImporter, WsdlEndpointConversionContext) |
Aangeroepen bij het importeren van een eindpunt. |