IServiceContractGenerationExtension Interface
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Definieert de methoden die worden aangeroepen tijdens het genereren van contracten die kunnen worden gebruikt om de gegenereerde code voor een servicecontract te wijzigen.
public interface class IServiceContractGenerationExtension
public interface IServiceContractGenerationExtension
type IServiceContractGenerationExtension = interface
Public Interface IServiceContractGenerationExtension
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u tijdens de aanroep ImportContracteen IServiceContractGenerationExtension aan de ContractDescription.Behaviors eigenschap toevoegt.
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));
}
}
}
}
In de volgende codevoorbeelden ziet u de implementatie van GenerateContract die opmerkingen toevoegen aan de code die is gegenereerd voor een servicecontract.
public void GenerateContract(ServiceContractGenerationContext context)
{
Console.WriteLine("In generate contract.");
context.ContractType.Comments.AddRange(Formatter.FormatComments(commentText));
}
In het volgende codevoorbeeld ziet u de gegenereerde opmerkingen over het servicecontract.
/// 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
Opmerkingen
Implementeer de IServiceContractGenerationExtension interface op een contractgedrag (een System.ServiceModel.Description.IContractBehavior type) om u in staat te stellen de code te wijzigen die wordt gegenereerd wanneer een contract of eindpunt wordt gecompileerd in code.
Normaal gesproken voegt een aangepast System.ServiceModel.Description.IWsdlImportExtension contractgedrag toe aan de ContractDescription.Behaviors verzameling tijdens het aanroepen naar ImportContract of ImportEndpoint.
Methoden
| Name | Description |
|---|---|
| GenerateContract(ServiceContractGenerationContext) |
Implementeer om het codedocumentobjectmodel te wijzigen vóór het proces voor het genereren van het contract. |