IOperationContractGenerationExtension Rozhraní
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í.
Definuje metody volané během generování kontraktu, které lze použít k úpravě vygenerovaného kódu pro operaci.
public interface class IOperationContractGenerationExtension
public interface IOperationContractGenerationExtension
type IOperationContractGenerationExtension = interface
Public Interface IOperationContractGenerationExtension
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
IOperationContractGenerationExtension Implementujte rozhraní chování operace (System.ServiceModel.Description.IOperationBehaviortyp), abyste mohli upravit kód vygenerovaný při kompilaci kontraktu nebo koncového bodu do kódu. 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.
Metody
GenerateOperation(OperationContractGenerationContext) |
Implement pro úpravu objektového modelu dokumentu kódu před procesem generování kontraktu. |