IOperationContractGenerationExtension.GenerateOperation Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
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.