DeliveryRequirementsAttribute.TargetContract Özellik
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.
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 ö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.