IWsdlImportExtension.ImportContract 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
계약을 가져올 때 호출됩니다.
public:
void ImportContract(System::ServiceModel::Description::WsdlImporter ^ importer, System::ServiceModel::Description::WsdlContractConversionContext ^ context);
public void ImportContract (System.ServiceModel.Description.WsdlImporter importer, System.ServiceModel.Description.WsdlContractConversionContext context);
abstract member ImportContract : System.ServiceModel.Description.WsdlImporter * System.ServiceModel.Description.WsdlContractConversionContext -> unit
Public Sub ImportContract (importer As WsdlImporter, context As WsdlContractConversionContext)
매개 변수
- importer
- WsdlImporter
가져오기입니다.
- context
- WsdlContractConversionContext
수정할 가져오기 컨텍스트입니다.
예제
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>
설명
이 ImportContract 메서드는 계약을 가져올 때 호출됩니다. 계약을 수정하거나 다른 내보내기 동작(System.ServiceModel.Description.IOperationContractGenerationExtension예: System.ServiceModel.Description.IServiceContractGenerationExtension 개체)을 삽입하여 계약에 대해 생성된 코드를 수정할 수 있습니다.