DeliveryRequirementsAttribute.TargetContract Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft den Typ ab, für den dies gültig ist, bzw. legt diesen fest.
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
Eigenschaftswert
Der Type, für den das Attribut gilt.
Beispiele
Im folgenden Codebeispiel wird das Attribut verwendet, um WCF anzuweisen, zur Laufzeit zu bestätigen, dass die DeliveryRequirementsAttribute tatsächliche Bindung keine Warteschlangenverträge unterstützt, sondern sortierte Nachrichten unterstützt. Es wird auch der Zielvertrag angegeben, auf den diese Einschränkung angewendet werden soll.
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
Hinweise
Eine Dienstklasse kann eine beliebige Anzahl von Dienstvertragsschnittstellen implementieren. Verwenden Sie die TargetContract-Eigenschaft, um zu validieren, dass Endpunkte mit TargetContract Bindungen haben, die die Anforderungen unterstützen. Dieses Attribut kann beliebig oft für dieselbe Klasse verwendet werden.