IOperationContractGenerationExtension Arabirim
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir işlem için oluşturulan kodu değiştirmek için kullanılabilecek sözleşme oluşturma sırasında çağrılan yöntemleri tanımlar.
public interface class IOperationContractGenerationExtension
public interface IOperationContractGenerationExtension
type IOperationContractGenerationExtension = interface
Public Interface IOperationContractGenerationExtension
Örnekler
Aşağıdaki kod örneği, ad alanını kullanarak işlemin açıklamalar bölümüne bir dize ekleyen yönteminin System.CodeDom uygulamasını GenerateOperation gösterir.
Aşağıdaki kod örneği, uygulayan IOperationContractGenerationExtension işlem davranışının çağrısı IWsdlImportExtension.ImportContractsırasında koleksiyona OperationDescription.Behaviors nasıl eklendiğini gösterir.
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));
}
}
}
}
Son olarak, aşağıdaki kod örneği hem Visual Basic hem de C# dilinde oluşturulan işlemi gösterir.
/// 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
Açıklamalar
IOperationContractGenerationExtension Bir sözleşme veya uç nokta koda derlendiğinde oluşturulan kodu değiştirmenizi sağlamak için bir işlem davranışında (System.ServiceModel.Description.IOperationBehaviortür) arabirimini uygulayın. Genellikle, özel System.ServiceModel.Description.IWsdlImportExtension bir özel işlem davranışını OperationDescription.Behaviors veya IWsdlImportExtension.ImportEndpointçağrısı sırasında koleksiyona IWsdlImportExtension.ImportContract ekler.
Yöntemler
GenerateOperation(OperationContractGenerationContext) |
Sözleşme oluşturma işleminden önce kod belgesi nesne modelini değiştirmek için uygulayın. |