IWsdlImportExtension.ImportContract Method (WsdlImporter, WsdlContractConversionContext)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Called when importing a contract.

Namespace:   System.ServiceModel.Description
Assembly:  System.ServiceModel (in System.ServiceModel.dll)

void ImportContract(
	WsdlImporter importer,
	WsdlContractConversionContext context


Type: System.ServiceModel.Description.WsdlImporter

The importer.

Type: System.ServiceModel.Description.WsdlContractConversionContext

The import context to be modified.

The ImportContract method is called when a contract is being imported. You can modify the contract or insert other exporting behaviors such as System.ServiceModel.Description.IServiceContractGenerationExtension and an System.ServiceModel.Description.IOperationContractGenerationExtension objects to modify the code that is generated for the contract.

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)
	// 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));

The following code example shows how to configure the client metadata system to use the custom IWsdlImportExtension from an application configuration file.

.NET Framework
Available since 3.0
Return to top