IOperationContractGenerationExtension Schnittstelle
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.
Definiert die Methoden, die während der Vertragsgenerierung aufgerufen werden, die zum Ändern des generierten Codes für einen Vorgang verwendet werden können.
public interface class IOperationContractGenerationExtension
public interface IOperationContractGenerationExtension
type IOperationContractGenerationExtension = interface
Public Interface IOperationContractGenerationExtension
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
Implementieren Sie die IOperationContractGenerationExtension Schnittstelle für ein Vorgangsverhalten (einen System.ServiceModel.Description.IOperationBehavior Typ), damit Sie den code ändern können, der generiert wird, wenn ein Vertrag oder Endpunkt in Code kompiliert wird. In der System.ServiceModel.Description.IWsdlImportExtension Regel fügt ein benutzerdefiniertes OperationDescription.Behaviors Vorgangsverhalten während des Aufrufs IWsdlImportExtension.ImportContract von oder IWsdlImportExtension.ImportEndpoint.
Methoden
| Name | Beschreibung |
|---|---|
| GenerateOperation(OperationContractGenerationContext) |
Implementieren, um das Codedokumentobjektmodell vor dem Prozess der Vertragsgenerierung zu ändern. |