IOperationContractGenerationExtension.GenerateOperation Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Implementieren Sie dies, um das Code Document Object Model vor dem Vertragsgenerierungsprozess zu ändern.
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)
Parameter
Der Arbeitskontext, der die System.CodeDom-Typen enthält, die notwendig zum Ändern des generierten Vorgangs sind.
Beispiele
Im folgenden Codebeispiel wird eine Implementierung der GenerateOperation-Methode veranschaulicht, mit der dem Kommentarabschnitt des Vorgangs eine Zeichenfolge mithilfe des System.CodeDom-Namespaces hinzugefügt wird.
Im folgenden Codebeispiel wird veranschaulicht, wie ein Vorgangsverhalten, das IOperationContractGenerationExtension implementiert, während des Aufrufs von OperationDescription.Behaviors in die IWsdlImportExtension.ImportContract-Auflistung eingefügt wird.
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));
}
}
}
}
Im folgenden Codebeispiel wird schließlich der in sowohl Visual Basic als auch C# generierte Vorgang veranschaulicht.
/// 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
Hinweise
In der Regel fügt eine benutzerdefinierte System.ServiceModel.Description.IWsdlImportExtension während des Aufrufs von OperationDescription.Behaviors oder IWsdlImportExtension.ImportContract ein benutzerdefiniertes Vorgangsverhalten in die IWsdlImportExtension.ImportEndpoint-Auflistung ein.
Die GenerateOperation-Methode wird einmal für jeden Vertrag aufgerufen.