IOperationContractGenerationExtension.GenerateOperation Méthode

Définition

Implémentez pour modifier le modèle objet de document de code avant le processus de génération de contrat.

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)

Paramètres

context
OperationContractGenerationContext

Contexte de travail qui contient les System.CodeDom types nécessaires pour modifier l’opération générée.

Exemples

L’exemple de code suivant montre l’implémentation de la GenerateOperation méthode qui ajoute une chaîne à la section commentaires de l’opération à l’aide de l’espace System.CodeDom de noms.

L’exemple de code suivant montre comment le comportement d’opération qui implémente IOperationContractGenerationExtension est inséré dans la OperationDescription.Behaviors collection pendant l’appel à 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));
              }
          }
      }
  }

Enfin, l’exemple de code suivant montre l’opération générée à la fois dans Visual Basic et 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

Remarques

En règle générale, une opération personnalisée insère un comportement d’opération personnalisé System.ServiceModel.Description.IWsdlImportExtension dans la OperationDescription.Behaviors collection pendant l’appel à IWsdlImportExtension.ImportContract ou IWsdlImportExtension.ImportEndpoint.

La GenerateOperation méthode est appelée une fois pour chaque contrat.

S’applique à