Aracılığıyla paylaş


DeliveryRequirementsAttribute.TargetContract Özellik

Tanım

Uygulanacağı türü alır veya ayarlar.

public:
 property Type ^ TargetContract { Type ^ get(); void set(Type ^ value); };
public Type TargetContract { get; set; }
member this.TargetContract : Type with get, set
Public Property TargetContract As Type

Özellik Değeri

Type

Type özniteliğinin geçerli olduğu.

Örnekler

Aşağıdaki kod örneği, WCF'ye çalışma zamanında gerçek bağlamanın DeliveryRequirementsAttribute kuyruğa alınan sözleşmeleri desteklemediğini ancak sıralı iletileri desteklediğini onaylamasını bildirmek için özniteliğini kullanır. Ayrıca bu kısıtlamanın uygulanması gereken hedef sözleşmeyi belirtir.

using System;
using System.ServiceModel;

[ServiceContract]
interface ICalculatorService
{
    [OperationBehavior(TransactionAutoComplete = true)]
    int Add(int a, int b);

    [OperationContract]
    int Subtract(int a, int b);
}

[DeliveryRequirementsAttribute(
  QueuedDeliveryRequirements = QueuedDeliveryRequirementsMode.NotAllowed,
  RequireOrderedDelivery = true,
  TargetContract= typeof(ICalculatorService)
)]
class CalculatorService : ICalculatorService
{
    public int Add(int a, int b)
    {
        Console.WriteLine("Add called.");
        return a + b;
    }

    public int Subtract(int a, int b)
    {
        Console.WriteLine("Subtract called.");
        return a - b;
    }

    public int Multiply(int a, int b)
    {
        return a * b;
    }
}
Imports System.ServiceModel

<ServiceContract()> _
Public Interface ICalculatorService

    <OperationBehavior(TransactionAutoComplete:=True)> _
    Function Add(ByVal a As Integer, ByVal b As Integer) As Integer

    <OperationContract()> _
    Function Subtract(ByVal a As Integer, ByVal b As Integer) As Integer
End Interface

<DeliveryRequirementsAttribute( _
    QueuedDeliveryRequirements:=QueuedDeliveryRequirementsMode.NotAllowed, _
    RequireOrderedDelivery:=True, _
    TargetContract:=GetType(ICalculatorService) _
)> _
Class CalculatorService

    Public Function add(ByVal a As Integer, ByVal b As Integer) As Integer
        Console.WriteLine("Add called")
        Return a + b
    End Function

    Public Function Subtract(ByVal a As Integer, ByVal b As Integer) As Integer
        Console.WriteLine("Subtract called.")
        Return a - b
    End Function

    Public Function Multiply(ByVal a As Integer, ByVal b As Integer) As Integer
        Return a * b
    End Function
End Class

Açıklamalar

Bir hizmet sınıfı, herhangi bir sayıda hizmet sözleşmesi arabirimi uygulayabilir. ile uç noktaların TargetContract gereksinimleri destekleyen bağlamalara TargetContract sahip olduğunu doğrulamak için özelliğini kullanın. Bu öznitelik aynı sınıfta istediğiniz sayıda kullanılabilir.

Şunlara uygulanır