IWsdlImportExtension Gränssnitt
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Implementera och koppla till ett WsdlImporter objekt för att styra hur importören mappar WSDL-delar (Web Services Description Language) till objektens ServiceDescription delar.
public interface class IWsdlImportExtension
public interface IWsdlImportExtension
type IWsdlImportExtension = interface
Public Interface IWsdlImportExtension
- Härledda
Exempel
I följande kodexempel visas användningen av IWsdlImportExtension för att lägga till en System.ServiceModel.Description.IServiceContractGenerationExtension och en System.ServiceModel.Description.IOperationContractGenerationExtension ( WsdlDocumentationImporteri det här fallet ) för att ändra genererad WCF-klientkod på gränssnitts- och åtgärdsnivå.
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));
}
}
}
}
Följande kodexempel visar hur du konfigurerar klientmetadatasystemet så att det använder det anpassade IWsdlImportExtension från en programkonfigurationsfil.
<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>
Kommentarer
IWsdlImportExtension Implementera gränssnittet för att styra mappningen mellan WSDL och ServiceEndpoint objektContractDescription, särskilt när du läser anpassade WSDL-tillägg för att ändra kontrakt- eller slutpunktsinformation. Koppla sedan ditt anpassade IWsdlImportExtension objekt till ett WsdlImporter programmatiskt objekt eller med hjälp av en programkonfigurationsfil. Du kan också koppla ditt anpassade IWsdlImportExtension objekt till det interna WsdlImporter som används av ServiceModel Metadata Utility Tool (Svcutil.exe) med hjälp av en programkonfigurationsfil.
Metoden ImportContract anropas för att importera ett kontrakt.
BeforeImport Använd metoden för att ändra metadata som sedan importeras till ServiceEndpoint och ContractDescription objekt.
Metoder
| Name | Description |
|---|---|
| BeforeImport(ServiceDescriptionCollection, XmlSchemaSet, ICollection<XmlElement>) |
Anropas innan metadatadokument importeras. |
| ImportContract(WsdlImporter, WsdlContractConversionContext) |
Anropas när ett kontrakt importeras. |
| ImportEndpoint(WsdlImporter, WsdlEndpointConversionContext) |
Anropas när en slutpunkt importeras. |