IOperationContractGenerationExtension.GenerateOperation Méthode
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.
Effectuez une implémentation pour modifier le Code DOM (Code Document Object Model) 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
Contexte de travail qui contient les types System.CodeDom nécessaires pour modifier l'opération générée.
Exemples
L'exemple de code suivant montre l'implémentation de la méthode GenerateOperation qui ajoute une chaîne à la section des commentaires de l'opération à l'aide de l'espace de noms System.CodeDom.
L'exemple de code suivant montre comment le comportement d'opération qui implémente IOperationContractGenerationExtension est inséré dans la collection OperationDescription.Behaviors au cours de 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 général, une System.ServiceModel.Description.IWsdlImportExtension personnalisée insère un comportement d'opération personnalisé dans la collection OperationDescription.Behaviors au cours de l'appel à IWsdlImportExtension.ImportContract ou IWsdlImportExtension.ImportEndpoint.
La méthode GenerateOperation est appelée une fois pour chaque contrat.