IOperationContractGenerationExtension Interface
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.
Definieert de methoden die worden aangeroepen tijdens het genereren van contracten die kunnen worden gebruikt om de gegenereerde code voor een bewerking te wijzigen.
public interface class IOperationContractGenerationExtension
public interface IOperationContractGenerationExtension
type IOperationContractGenerationExtension = interface
Public Interface IOperationContractGenerationExtension
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
Implementeer de IOperationContractGenerationExtension interface op een bewerkingsgedrag (een System.ServiceModel.Description.IOperationBehavior type) om u in staat te stellen de code te wijzigen die wordt gegenereerd wanneer een contract of eindpunt in code wordt gecompileerd. 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.
Methoden
| Name | Description |
|---|---|
| GenerateOperation(OperationContractGenerationContext) |
Implementeer om het codedocumentobjectmodel te wijzigen vóór het proces voor het genereren van het contract. |