IOperationContractGenerationExtension Interface
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Définit les méthodes appelées pendant la génération de contrat qui peuvent être utilisées pour modifier le code généré pour une opération.
public interface class IOperationContractGenerationExtension
public interface IOperationContractGenerationExtension
type IOperationContractGenerationExtension = interface
Public Interface IOperationContractGenerationExtension
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
Implémentez l’interface IOperationContractGenerationExtension sur un comportement d’opération (un System.ServiceModel.Description.IOperationBehavior type) pour vous permettre de modifier le code généré lorsqu’un contrat ou un point de terminaison est compilé en code. 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.
Méthodes
| Nom | Description |
|---|---|
| GenerateOperation(OperationContractGenerationContext) |
Implémentez pour modifier le modèle objet de document de code avant le processus de génération de contrat. |