IOperationContractGenerationExtension.GenerateOperation Methode

Definitie

Implementeer om het codedocumentobjectmodel te wijzigen vóór het proces voor het genereren van het contract.

public:
 void GenerateOperation(System::ServiceModel::Description::OperationContractGenerationContext ^ context);
public void GenerateOperation(System.ServiceModel.Description.OperationContractGenerationContext context);
abstract member GenerateOperation : System.ServiceModel.Description.OperationContractGenerationContext -> unit
Public Sub GenerateOperation (context As OperationContractGenerationContext)

Parameters

context
OperationContractGenerationContext

De werkcontext die de System.CodeDom typen bevat die nodig zijn om de gegenereerde bewerking te wijzigen.

Voorbeelden

In het volgende codevoorbeeld ziet u de implementatie van de GenerateOperation methode waarmee een tekenreeks wordt toegevoegd aan de opmerkingensectie van de bewerking met behulp van de System.CodeDom naamruimte.

In het volgende codevoorbeeld ziet u hoe het bewerkingsgedrag IOperationContractGenerationExtension dat wordt geïmplementeerd, tijdens de aanroep in IWsdlImportExtension.ImportContractde OperationDescription.Behaviors verzameling wordt ingevoegd.

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

Ten slotte toont het volgende codevoorbeeld de bewerking die is gegenereerd in zowel Visual Basic als C#.

/// From WSDL Documentation:
///
/// <summary>The string for the Name data member.</summary>
///
[System.Runtime.Serialization.DataMemberAttribute()]
public string Name
{
    get
    {
        return this.NameField;
    }
    set
    {
        this.NameField = value;
    }
}

'''From WSDL Documentation:
'''
'''<summary>The string for the Name data member.</summary> 
'''
<System.Runtime.Serialization.DataMemberAttribute()>  _
Public Property Name() As String
    Get
        Return Me.NameField
    End Get
    Set
        Me.NameField = value
    End Set
End Property

Opmerkingen

Normaal gesproken voegt een aangepast bewerkingsgedrag System.ServiceModel.Description.IWsdlImportExtension toe aan de OperationDescription.Behaviors verzameling tijdens het aanroepen naar IWsdlImportExtension.ImportContract of IWsdlImportExtension.ImportEndpoint.

De GenerateOperation methode wordt eenmaal aangeroepen voor elk contract.

Van toepassing op