IServiceContractGenerationExtension.GenerateContract Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Terapkan untuk mengubah model objek dokumen kode sebelum proses pembuatan kontrak.
public:
void GenerateContract(System::ServiceModel::Description::ServiceContractGenerationContext ^ context);
public void GenerateContract(System.ServiceModel.Description.ServiceContractGenerationContext context);
abstract member GenerateContract : System.ServiceModel.Description.ServiceContractGenerationContext -> unit
Public Sub GenerateContract (context As ServiceContractGenerationContext)
Parameter
- context
- ServiceContractGenerationContext
Konteks kode yang dihasilkan untuk digunakan untuk mengubah dokumen kode sebelum pembuatan.
Contoh
Contoh kode berikut menunjukkan cara menambahkan IServiceContractGenerationExtension ke ContractDescription.Behaviors properti selama panggilan ke 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));
}
}
}
}
Contoh kode berikut menunjukkan implementasi GenerateContract yang menambahkan komentar ke kode yang dihasilkan untuk kontrak layanan.
public void GenerateContract(ServiceContractGenerationContext context)
{
Console.WriteLine("In generate contract.");
context.ContractType.Comments.AddRange(Formatter.FormatComments(commentText));
}
Contoh kode berikut menunjukkan komentar yang dihasilkan pada kontrak layanan.
/// 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
Keterangan
System.ServiceModel.Description.ServiceContractGenerationContext Gunakan untuk mengubah kontrak, operasi, atau System.ServiceModel.Description.ServiceContractGenerator sebelum pembuatan kode.