IServiceContractGenerationExtension::GenerateContract Method (ServiceContractGenerationContext^)
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::ServiceContractGenerationContext^
The code generated context to use to modify the code document prior to generation.
Use the System.ServiceModel.Description::ServiceContractGenerationContext to modify the contract, operations, or the System.ServiceModel.Description::ServiceContractGenerator prior to code generation.
The following code example shows how to add an IServiceContractGenerationExtension to the ContractDescription::Behaviors property during the call to 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)); } } } }
The following code examples show the implementation of GenerateContract that adds comments to the code generated for a service contract.
public void GenerateContract(ServiceContractGenerationContext context) { Console.WriteLine("In generate contract."); context.ContractType.Comments.AddRange(Formatter.FormatComments(commentText)); }
The following code example shows the generated comments on the service contract.
Available since 3.0