IWsdlImportExtension 인터페이스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
WsdlImporter 개체를 구현하고 연결하여 가져오기에서 WSDL(웹 서비스 기술 언어) 부분을 ServiceDescription 개체의 해당 부분으로 매핑하는 방법을 제어합니다.
public interface class IWsdlImportExtension
public interface IWsdlImportExtension
type IWsdlImportExtension = interface
Public Interface IWsdlImportExtension
- 파생
예제
The following code example shows the use of IWsdlImportExtension to add an System.ServiceModel.Description.IServiceContractGenerationExtension and an System.ServiceModel.Description.IOperationContractGenerationExtension (the WsdlDocumentationImporter
, in this case) to modify generated WCF client code at the interface and operation level.
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));
}
}
}
}
다음 코드 예제에서는 애플리케이션 구성 파일에서 사용자 지정 IWsdlImportExtension을 사용하도록 클라이언트 메타데이터 시스템을 구성하는 방법을 보여 줍니다.
<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>
설명
IWsdlImportExtension 특히 계약 또는 엔드포인트 정보를 수정하기 위해 사용자 지정 WSDL 확장을 읽을 때 WSDL과 ServiceEndpoint ContractDescription 개체 간의 매핑을 제어하는 인터페이스를 구현합니다. 그런 다음 프로그래밍 방식이나 애플리케이션 구성 파일을 사용하여 사용자 지정 IWsdlImportExtension 개체를 WsdlImporter에 연결합니다. 애플리케이션 구성 파일을 사용하여 ServiceModel 메타데이터 유틸리티 도구(Svcutil.exe)에서 사용하는 내부 WsdlImporter 개체에 사용자 지정 IWsdlImportExtension 개체를 연결할 수도 있습니다.
이 ImportContract 메서드는 계약을 가져오기 위해 호출됩니다.
메서드를 BeforeImport 사용하여 가져온 메타데이터 및 ContractDescription 개체를 ServiceEndpoint 수정합니다.
메서드
BeforeImport(ServiceDescriptionCollection, XmlSchemaSet, ICollection<XmlElement>) |
메타데이터 문서를 가져오기 전에 호출됩니다. |
ImportContract(WsdlImporter, WsdlContractConversionContext) |
계약을 가져올 때 호출됩니다. |
ImportEndpoint(WsdlImporter, WsdlEndpointConversionContext) |
엔드포인트를 가져올 때 호출됩니다. |