IWsdlImportExtension Rozhraní
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Implementujte a připojte k objektu WsdlImporter , který určuje, jak import mapuje části WSDL (Web Services Description Language) na části objektu ServiceDescription .
public interface class IWsdlImportExtension
public interface IWsdlImportExtension
type IWsdlImportExtension = interface
Public Interface IWsdlImportExtension
- Odvozené
Příklady
Následující příklad kódu ukazuje použití k přidání System.ServiceModel.Description.IServiceContractGenerationExtension a (WsdlDocumentationImporter
System.ServiceModel.Description.IOperationContractGenerationExtensionv tomto případě ) ke změně vygenerovaného klientského IWsdlImportExtension kódu WCF na úrovni rozhraní a operace.
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));
}
}
}
}
Následující příklad kódu ukazuje, jak nakonfigurovat systém metadat klienta tak, aby používal vlastní IWsdlImportExtension z konfiguračního souboru aplikace.
<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>
Poznámky
IWsdlImportExtension Implementujte rozhraní pro řízení mapování mezi WSDL a ServiceEndpoint objektyContractDescription, zejména při čtení vlastních rozšíření WSDL za účelem úpravy informací o kontraktu nebo koncovém bodu. Pak vlastní objekt připojte IWsdlImportExtension buď WsdlImporter prostřednictvím kódu programu, nebo pomocí konfiguračního souboru aplikace. Vlastní IWsdlImportExtension objekt můžete také připojit k internímu WsdlImporter objektu používanému nástrojem ServiceModel Metadata Utility (Svcutil.exe) pomocí konfiguračního souboru aplikace.
Metoda ImportContract se volá k importu kontraktu.
BeforeImport Pomocí metody můžete upravit metadata, která se pak naimportují do ServiceEndpoint objektů a ContractDescription do objektů.
Metody
BeforeImport(ServiceDescriptionCollection, XmlSchemaSet, ICollection<XmlElement>) |
Volá se před importem dokumentů metadat. |
ImportContract(WsdlImporter, WsdlContractConversionContext) |
Volá se při importu kontraktu. |
ImportEndpoint(WsdlImporter, WsdlEndpointConversionContext) |
Volá se při importu koncového bodu. |