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, um das Codedokumentobjektmodell vor dem Prozess der Vertragsgenerierung 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 Typen enthält, die System.CodeDom zum Ändern des generierten Vorgangs erforderlich sind.
Beispiele
Das folgende Codebeispiel zeigt die Implementierung der GenerateOperation Methode, die dem Kommentarabschnitt des Vorgangs mithilfe System.CodeDom des Namespaces eine Zeichenfolge hinzufügt.
Das folgende Codebeispiel zeigt, wie das vorgangsverhalten, das implementiert wird, während des Aufrufs IOperationContractGenerationExtensionOperationDescription.Behaviorsin 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));
}
}
}
}
Schließlich zeigt das folgende Codebeispiel den Vorgang, der sowohl in Visual Basic als auch in C# generiert wurde.
/// 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 System.ServiceModel.Description.IWsdlImportExtension Regel fügt ein benutzerdefiniertes OperationDescription.Behaviors Vorgangsverhalten während des Aufrufs IWsdlImportExtension.ImportContract von oder IWsdlImportExtension.ImportEndpoint.
Die GenerateOperation Methode wird einmal für jeden Vertrag aufgerufen.