IOperationContractGenerationExtension.GenerateOperation Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Implement pro úpravu objektového modelu dokumentu kódu před procesem generování 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
Pracovní kontext, který obsahuje System.CodeDom typy potřebné k úpravě vygenerované operace.
Příklady
Následující příklad kódu ukazuje implementaci GenerateOperation metody, která přidá řetězec do oddílu comments operace pomocí System.CodeDom oboru názvů .
Následující příklad kódu ukazuje, jak se chování operace, která implementuje IOperationContractGenerationExtension , vloží do OperationDescription.Behaviors kolekce během volání 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));
}
}
}
}
Nakonec následující příklad kódu ukazuje operaci vygenerovanou v jazyce 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
Poznámky
Vlastní System.ServiceModel.Description.IWsdlImportExtension obvykle vkládá chování vlastní operace do OperationDescription.Behaviors kolekce během volání IWsdlImportExtension.ImportContract nebo IWsdlImportExtension.ImportEndpoint.
Metoda je GenerateOperation volána jednou pro každý kontrakt.