IOperationContractGenerationExtension Gränssnitt
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Definierar de metoder som anropas under kontraktsgenereringen och som kan användas för att ändra den genererade koden för en åtgärd.
public interface class IOperationContractGenerationExtension
public interface IOperationContractGenerationExtension
type IOperationContractGenerationExtension = interface
Public Interface IOperationContractGenerationExtension
Exempel
I följande kodexempel visas implementeringen av GenerateOperation metoden som lägger till en sträng i kommentarsavsnittet i åtgärden med hjälp System.CodeDom av namnområdet.
Följande kodexempel visar hur åtgärdsbeteendet som implementeras infogas IOperationContractGenerationExtension i OperationDescription.Behaviors samlingen under anropet till 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));
}
}
}
}
Slutligen visar följande kodexempel åtgärden som genereras i både Visual Basic och 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
Kommentarer
IOperationContractGenerationExtension Implementera gränssnittet på ett åtgärdsbeteende (en System.ServiceModel.Description.IOperationBehavior typ) så att du kan ändra koden som genereras när ett kontrakt eller en slutpunkt kompileras till kod. Vanligtvis infogar en anpassad System.ServiceModel.Description.IWsdlImportExtension åtgärd ett anpassat åtgärdsbeteende i OperationDescription.Behaviors samlingen under anropet till IWsdlImportExtension.ImportContract eller IWsdlImportExtension.ImportEndpoint.
Metoder
| Name | Description |
|---|---|
| GenerateOperation(OperationContractGenerationContext) |
Implementera för att ändra koddokumentets objektmodell före kontraktgenereringsprocessen. |