IOperationContractGenerationExtension.GenerateOperation Methode

Definition

Implementieren, um das Codedokumentobjektmodell vor dem Prozess der Vertragsgenerierung zu ändern.

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)

Parameter

context
OperationContractGenerationContext

Der Arbeitskontext, der die Typen enthält, die System.CodeDom zum Ändern des generierten Vorgangs erforderlich sind.

Beispiele

Das folgende Codebeispiel zeigt die Implementierung der GenerateOperation Methode, die dem Kommentarabschnitt des Vorgangs mithilfe System.CodeDom des Namespaces eine Zeichenfolge hinzufügt.

Das folgende Codebeispiel zeigt, wie das vorgangsverhalten, das implementiert wird, während des Aufrufs IOperationContractGenerationExtensionOperationDescription.Behaviorsin die IWsdlImportExtension.ImportContract Auflistung eingefügt wird.

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

Schließlich zeigt das folgende Codebeispiel den Vorgang, der sowohl in Visual Basic als auch in C# generiert wurde.

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

Hinweise

In der System.ServiceModel.Description.IWsdlImportExtension Regel fügt ein benutzerdefiniertes OperationDescription.Behaviors Vorgangsverhalten während des Aufrufs IWsdlImportExtension.ImportContract von oder IWsdlImportExtension.ImportEndpoint.

Die GenerateOperation Methode wird einmal für jeden Vertrag aufgerufen.

Gilt für: