IOperationContractGenerationExtension.GenerateOperation Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Implementare per modificare il modello a oggetti del documento di codice prima del processo di generazione del contratto.
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)
Parametri
Contesto di lavoro che contiene i System.CodeDom tipi necessari per modificare l'operazione generata.
Esempio
Nell'esempio di codice seguente viene illustrata l'implementazione del GenerateOperation metodo che aggiunge una stringa alla sezione comments dell'operazione usando lo spazio dei System.CodeDom nomi .
Nell'esempio di codice seguente viene illustrato come il comportamento dell'operazione implementato IOperationContractGenerationExtension viene inserito nella OperationDescription.Behaviors raccolta durante la chiamata a 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));
}
}
}
}
Infine, l'esempio di codice seguente illustra l'operazione generata sia in Visual Basic che in 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
Commenti
In genere, un oggetto personalizzato System.ServiceModel.Description.IWsdlImportExtension inserisce un comportamento dell'operazione personalizzata nella OperationDescription.Behaviors raccolta durante la chiamata a IWsdlImportExtension.ImportContract o IWsdlImportExtension.ImportEndpoint.
Il GenerateOperation metodo viene chiamato una volta per ogni contratto.