IOperationContractGenerationExtension::GenerateOperation Method (OperationContractGenerationContext^)
Implement to modify the code document object model prior to the contract generation process.
Assembly: System.ServiceModel (in System.ServiceModel.dll)
Parameters
- context
-
Type:
System.ServiceModel.Description::OperationContractGenerationContext^
The working context that contains the System.CodeDom types necessary to modify the generated operation.
Typically, a custom System.ServiceModel.Description::IWsdlImportExtension inserts a custom operation behavior into the OperationDescription::Behaviors collection during the call to IWsdlImportExtension::ImportContract or IWsdlImportExtension::ImportEndpoint.
The GenerateOperation method is called once for each contract.
The following code example shows the implementation of the GenerateOperation method that adds a string to the comments section of the operation using the System.CodeDom namespace.
The following code example shows how the operation behavior that implements IOperationContractGenerationExtension is inserted into the OperationDescription::Behaviors collection during the call to IWsdlImportExtension::ImportContract.
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)); } } } }
Finally, the following code example shows the operation generated in both Visual Basic and C#.
Available since 3.0