Partager via


DeliveryRequirementsAttribute Classe

Définition

Spécifie les fonctionnalités que les liaisons doivent fournir à l'implémentation de service ou de client.

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
Héritage
DeliveryRequirementsAttribute
Attributs
Implémente

Exemples

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

Remarques

Utilisez l’instruction DeliveryRequirementsAttribute Windows Communication Foundation (WCF) pour confirmer que la liaison fournit les fonctionnalités requises par l’implémentation du service ou du client. Si un DeliveryRequirementsAttribute attribut est détecté lorsqu’une description de service est chargée à partir d’un fichier de configuration d’application ou générée par programme dans le code, WCF valide la liaison configurée et prend en charge toutes les fonctionnalités spécifiées par l’attribut. Par exemple, votre service peut exiger que les liaisons prennent en charge la mise en file d'attente. L’utilisation DeliveryRequirementsAttribute permet à WCF de confirmer que les exigences suivantes sont remplies :

  • La propriété QueuedDeliveryRequirements spécifie les exigences de mise en file d'attente que doit satisfaire une liaison.

  • La propriété RequireOrderedDelivery indique si la liaison doit prendre en charge la messagerie ordonnée.

  • La propriété TargetContract indique à quel type s’appliquent les exigences.

L'attribut DeliveryRequirementsAttribute est appliqué à une classe, qui peut implémenter un nombre quelconque d'interfaces de contrat de service. DeliveryRequirementsAttribute peut être appliqué à tous les contrats qu'implémente la classe ou à un seul d'entre eux. L'attribut peut être appliqué plus d'une fois à une classe.

Constructeurs

DeliveryRequirementsAttribute()

Initialise une nouvelle instance de la classe DeliveryRequirementsAttribute.

Propriétés

QueuedDeliveryRequirements

Spécifie si la liaison pour un service doit prendre en charge des contrats en file d’attente.

RequireOrderedDelivery

Spécifie si la liaison doit prendre en charge les messages ordonnés.

TargetContract

Obtient ou définit le type concerné.

TypeId

Lors de l'implémentation dans une classe dérivée, obtient un identificateur unique pour l'objet Attribute.

(Hérité de Attribute)

Méthodes

Equals(Object)

Retourne une valeur qui indique si cette instance est égale à un objet spécifié.

(Hérité de Attribute)
GetHashCode()

Retourne le code de hachage de cette instance.

(Hérité de Attribute)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
IsDefaultAttribute()

En cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut pour la classe dérivée.

(Hérité de Attribute)
Match(Object)

En cas de substitution dans une classe dérivée, retourne une valeur indiquant si cette instance équivaut à un objet spécifié.

(Hérité de Attribute)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch.

(Hérité de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Récupère les informations de type pour un objet, qui peuvent être utilisées pour obtenir les informations de type d'une interface.

(Hérité de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1).

(Hérité de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fournit l'accès aux propriétés et aux méthodes exposées par un objet.

(Hérité de Attribute)
IContractBehavior.AddBindingParameters(ContractDescription, ServiceEndpoint, BindingParameterCollection)

Implémente la méthode IContractBehavior.AddBindingParameters(ContractDescription, ServiceEndpoint, BindingParameterCollection) pour lier correctement les paramètres de liaison.

IContractBehavior.ApplyClientBehavior(ContractDescription, ServiceEndpoint, ClientRuntime)

Implémentation de la méthode IContractBehavior.ApplyClientBehavior(ContractDescription, ServiceEndpoint, ClientRuntime) pour la prise en charge du client.

IContractBehavior.ApplyDispatchBehavior(ContractDescription, ServiceEndpoint, DispatchRuntime)

Implémentation de la méthode ApplyDispatchBehavior(ContractDescription, ServiceEndpoint, DispatchRuntime) qui active la prise en charge du service.

IContractBehavior.Validate(ContractDescription, ServiceEndpoint)

Implémente la méthode IContractBehavior.Validate(ContractDescription, ServiceEndpoint) pour activer la prise en charge de la validation.

S’applique à