DeliveryRequirementsAttribute Classe

Definição

Especifica os requisitos de funcionalidades que as associações devem fornecer para a implementação do serviço ou do cliente.

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
Herança
DeliveryRequirementsAttribute
Atributos
Implementações

Exemplos

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

Observações

Use o DeliveryRequirementsAttribute para instruir Windows Communication Foundation (WCF) a confirmar que a ligação fornece as funcionalidades exigidas pelo serviço ou implementação do cliente. Se um DeliveryRequirementsAttribute atributo for detetado quando uma descrição de serviço é carregada a partir de um ficheiro de configuração de aplicação ou construída programaticamente em código, o WCF valida a ligação configurada e suporta todas as funcionalidades que o atributo especifica. Por exemplo, o seu serviço pode exigir que as ligações suportem a fila. Usar DeliveryRequirementsAttribute permite ao WCF confirmar que os seguintes requisitos são cumpridos:

O DeliveryRequirementsAttribute atributo é aplicado a uma classe, que pode implementar qualquer número de interfaces de contratos de serviço. DeliveryRequirementsAttribute pode ser aplicado a todos os contratos que a classe implementa ou apenas a um deles. O atributo pode ser aplicado a uma classe mais do que uma vez.

Construtores

Name Description
DeliveryRequirementsAttribute()

Inicializa uma nova instância da DeliveryRequirementsAttribute classe.

Propriedades

Name Description
QueuedDeliveryRequirements

Especifica se a vinculação de um serviço deve suportar contratos em fila.

RequireOrderedDelivery

Especifica se a ligação deve suportar mensagens ordenadas.

TargetContract

Obtém ou define o tipo a que se aplica.

TypeId

Quando implementado numa classe derivada, obtém um identificador único para esta Attribute.

(Herdado de Attribute)

Métodos

Name Description
Equals(Object)

Devolve um valor que indica se esta instância é igual a um objeto especificado.

(Herdado de Attribute)
GetHashCode()

Devolve o código de hash para esta instância.

(Herdado de Attribute)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsDefaultAttribute()

Quando sobrescrito numa classe derivada, indica se o valor desta instância é o valor padrão para a classe derivada.

(Herdado de Attribute)
Match(Object)

Quando sobrescrito numa classe derivada, devolve um valor que indica se esta instância é igual a um objeto especificado.

(Herdado de Attribute)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Implementações de Interface Explícita

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

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho.

(Herdado de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera a informação de tipo de um objeto, que pode ser usada para obter a informação de tipo para uma interface.

(Herdado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1).

(Herdado de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Proporciona acesso a propriedades e métodos expostos por um objeto.

(Herdado de Attribute)
IContractBehavior.AddBindingParameters(ContractDescription, ServiceEndpoint, BindingParameterCollection)

Implementa o IContractBehavior.AddBindingParameters(ContractDescription, ServiceEndpoint, BindingParameterCollection) método para anexar corretamente os parâmetros de ligação.

IContractBehavior.ApplyClientBehavior(ContractDescription, ServiceEndpoint, ClientRuntime)

Implementação do IContractBehavior.ApplyClientBehavior(ContractDescription, ServiceEndpoint, ClientRuntime) método para suporte ao cliente.

IContractBehavior.ApplyDispatchBehavior(ContractDescription, ServiceEndpoint, DispatchRuntime)

Implementação do ApplyDispatchBehavior(ContractDescription, ServiceEndpoint, DispatchRuntime) método que permite o suporte ao serviço.

IContractBehavior.Validate(ContractDescription, ServiceEndpoint)

Implementa o IContractBehavior.Validate(ContractDescription, ServiceEndpoint) método para permitir o suporte de validação.

Aplica-se a