IServiceContractGenerationExtension 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 kontrakt služby.
public interface class IServiceContractGenerationExtension
public interface IServiceContractGenerationExtension
type IServiceContractGenerationExtension = interface
Public Interface IServiceContractGenerationExtension
Příklady
Následující příklad kódu ukazuje, jak přidat IServiceContractGenerationExtension do ContractDescription.Behaviors vlastnosti během volání .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));
}
}
}
}
Následující příklady kódu ukazují implementaci GenerateContract , která přidává komentáře ke kódu vygenerovanému pro kontrakt služby.
public void GenerateContract(ServiceContractGenerationContext context)
{
Console.WriteLine("In generate contract.");
context.ContractType.Comments.AddRange(Formatter.FormatComments(commentText));
}
Následující příklad kódu ukazuje vygenerované komentáře k kontraktu služby.
/// 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
IServiceContractGenerationExtension Implementujte rozhraní chování kontraktu (System.ServiceModel.Description.IContractBehaviortyp), abyste mohli upravit kód vygenerovaný při kompilaci kontraktu nebo koncového bodu do kódu.
Vlastní System.ServiceModel.Description.IWsdlImportExtension obvykle vloží chování vlastního kontraktu ContractDescription.Behaviors do kolekce během volání ImportContract nebo ImportEndpoint.
Metody
GenerateContract(ServiceContractGenerationContext) |
Implement pro úpravu objektového modelu dokumentu kódu před procesem generování kontraktu. |