IOperationContractGenerationExtension.GenerateOperation Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zaimplementuj, aby zmodyfikować model obiektu dokumentu kodu przed procesem generowania kontraktu.
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)
Parametry
Kontekst roboczy zawierający System.CodeDom typy niezbędne do zmodyfikowania wygenerowanej operacji.
Przykłady
Poniższy przykład kodu przedstawia implementację GenerateOperation metody, która dodaje ciąg do sekcji komentarzy operacji przy użyciu System.CodeDom przestrzeni nazw.
Poniższy przykład kodu pokazuje, jak zachowanie operacji implementujące IOperationContractGenerationExtension jest wstawiane do OperationDescription.Behaviors kolekcji podczas wywołania metody 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));
}
}
}
}
Na koniec poniższy przykład kodu przedstawia operację wygenerowaną w Visual Basic i 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
Uwagi
Zazwyczaj niestandardowe System.ServiceModel.Description.IWsdlImportExtension wstawia zachowanie operacji niestandardowej OperationDescription.Behaviors do kolekcji podczas wywołania metody IWsdlImportExtension.ImportContract lub IWsdlImportExtension.ImportEndpoint.
Metoda jest wywoływana GenerateOperation raz dla każdego kontraktu.