DeliveryRequirementsAttribute Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Określa wymagania dotyczące funkcji, które powiązania muszą zapewniać implementację usługi lub klienta.
public ref class DeliveryRequirementsAttribute sealed : Attribute, System::ServiceModel::Description::IContractBehavior
public ref class DeliveryRequirementsAttribute sealed : Attribute, System::ServiceModel::Description::IContractBehavior, System::ServiceModel::Description::IContractBehaviorAttribute
public sealed class DeliveryRequirementsAttribute : Attribute, System.ServiceModel.Description.IContractBehavior
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Interface, AllowMultiple=true)]
public sealed class DeliveryRequirementsAttribute : Attribute, System.ServiceModel.Description.IContractBehavior, System.ServiceModel.Description.IContractBehaviorAttribute
type DeliveryRequirementsAttribute = class
inherit Attribute
interface IContractBehavior
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Interface, AllowMultiple=true)>]
type DeliveryRequirementsAttribute = class
inherit Attribute
interface IContractBehavior
interface IContractBehaviorAttribute
Public NotInheritable Class DeliveryRequirementsAttribute
Inherits Attribute
Implements IContractBehavior
Public NotInheritable Class DeliveryRequirementsAttribute
Inherits Attribute
Implements IContractBehavior, IContractBehaviorAttribute
- Dziedziczenie
- Atrybuty
- Implementuje
Przykłady
using System;
using System.ServiceModel;
[ServiceContract]
interface ICalculatorService
{
[OperationBehavior()]
int Add(int a, int b);
[OperationContract]
int Subtract(int a, int b);
}
[DeliveryRequirementsAttribute(
QueuedDeliveryRequirements=QueuedDeliveryRequirementsMode.NotAllowed,
RequireOrderedDelivery=true
)]
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()> _
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
<DeliveryRequirements( _
QueuedDeliveryRequirements:=QueuedDeliveryRequirementsMode.NotAllowed, _
RequireOrderedDelivery:=True _
)> _
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
Uwagi
Użyj polecenia DeliveryRequirementsAttribute , aby Windows Communication Foundation (WCF), aby potwierdzić, że powiązanie zapewnia funkcje wymagane przez usługę lub implementację klienta. DeliveryRequirementsAttribute Jeśli atrybut zostanie wykryty, gdy opis usługi zostanie załadowany z pliku konfiguracji aplikacji lub skompilowany programowo w kodzie, program WCF weryfikuje skonfigurowane powiązanie i obsługuje wszystkie funkcje określone przez atrybut. Na przykład usługa może wymagać powiązań do obsługi kolejkowania. Użycie DeliveryRequirementsAttribute polecenia umożliwia usłudze WCF potwierdzenie spełnienia następujących wymagań:
Właściwość QueuedDeliveryRequirements określa wymagania kolejkowania, które musi spełniać powiązanie.
Właściwość RequireOrderedDelivery wskazuje, czy powiązanie musi obsługiwać uporządkowane komunikaty.
Właściwość TargetContract wskazuje, do którego typu mają zastosowanie wymagania.
Atrybut DeliveryRequirementsAttribute jest stosowany do klasy, która może implementować dowolną liczbę interfejsów kontraktu usługi. DeliveryRequirementsAttribute można zastosować do wszystkich kontraktów implementowane przez klasę lub tylko do jednego z nich. Atrybut można zastosować do klasy więcej niż raz.
Konstruktory
DeliveryRequirementsAttribute() |
Inicjuje nowe wystąpienie klasy DeliveryRequirementsAttribute. |
Właściwości
QueuedDeliveryRequirements |
Określa, czy powiązanie usługi musi obsługiwać kontrakty w kolejce. |
RequireOrderedDelivery |
Określa, czy powiązanie musi obsługiwać uporządkowane komunikaty. |
TargetContract |
Pobiera lub ustawia typ, do którego ma zastosowanie. |
TypeId |
Po zaimplementowaniu w klasie pochodnej pobiera unikatowy identyfikator dla tego Attributeelementu . (Odziedziczone po Attribute) |
Metody
Equals(Object) |
Zwraca wartość wskazującą, czy to wystąpienie jest równe podanemu obiektowi. (Odziedziczone po Attribute) |
GetHashCode() |
Zwraca wartość skrótu dla tego wystąpienia. (Odziedziczone po Attribute) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
IsDefaultAttribute() |
W przypadku zastąpienia w klasie pochodnej wskazuje, czy wartość tego wystąpienia jest wartością domyślną klasy pochodnej. (Odziedziczone po Attribute) |
Match(Object) |
Po przesłonięciu w klasie pochodnej zwraca wartość wskazującą, czy to wystąpienie jest równe określonemu obiektowi. (Odziedziczone po Attribute) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |