IOperationContractGenerationExtension.GenerateOperation Metod
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.
Implementera för att ändra koddokumentets objektmodell före kontraktgenereringsprocessen.
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)
Parametrar
Arbetskontexten som innehåller de System.CodeDom typer som krävs för att ändra den genererade åtgärden.
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
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.
Metoden GenerateOperation anropas en gång för varje kontrakt.