Condividi tramite


DeliveryRequirementsAttribute Classe

Definizione

Specifica i requisiti della funzionalità che le associazioni devono fornire all'implementazione del servizio o del 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
Ereditarietà
DeliveryRequirementsAttribute
Attributi
Implementazioni

Esempio

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

Commenti

Usare per DeliveryRequirementsAttribute indicare Windows Communication Foundation (WCF) per verificare che l'associazione fornisca le funzionalità necessarie dall'implementazione del servizio o del client. Se viene rilevato un DeliveryRequirementsAttribute attributo quando viene caricata una descrizione del servizio da un file di configurazione dell'applicazione o compilata a livello di codice, WCF convalida l'associazione configurata e supporta tutte le funzionalità specificate dall'attributo. Ad esempio, per un servizio può essere necessario che le associazioni supportino l'accodamento. L'uso DeliveryRequirementsAttribute consente a WCF di verificare che siano soddisfatti i requisiti seguenti:

L'attributo DeliveryRequirementsAttribute viene applicato a una classe che può implementare qualsiasi numero di interfacce del contratto di servizio. DeliveryRequirementsAttribute può essere applicato a tutti i contratti implementati dalla classe o solo a uno di essi. L'attributo può essere applicato a una classe più volte.

Costruttori

DeliveryRequirementsAttribute()

Inizializza una nuova istanza della classe DeliveryRequirementsAttribute.

Proprietà

QueuedDeliveryRequirements

Specifica se l'associazione di un servizio deve supportare i contratti in coda.

RequireOrderedDelivery

Specifica se l'associazione deve supportare i messaggi ordinati.

TargetContract

Ottiene o imposta il tipo al quale si applica l'attributo.

TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.

(Ereditato da Attribute)

Metodi

Equals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.

(Ereditato da Attribute)
GetHashCode()

Restituisce il codice hash per l'istanza.

(Ereditato da Attribute)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IsDefaultAttribute()

In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.

(Ereditato da Attribute)
Match(Object)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.

(Ereditato da Attribute)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

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

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.

(Ereditato da Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.

(Ereditato da Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).

(Ereditato da Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.

(Ereditato da Attribute)
IContractBehavior.AddBindingParameters(ContractDescription, ServiceEndpoint, BindingParameterCollection)

Implementa il metodo IContractBehavior.AddBindingParameters(ContractDescription, ServiceEndpoint, BindingParameterCollection) per allegare correttamente i parametri dell'associazione.

IContractBehavior.ApplyClientBehavior(ContractDescription, ServiceEndpoint, ClientRuntime)

Implementazione del metodo IContractBehavior.ApplyClientBehavior(ContractDescription, ServiceEndpoint, ClientRuntime) per il supporto client.

IContractBehavior.ApplyDispatchBehavior(ContractDescription, ServiceEndpoint, DispatchRuntime)

Implementazione del metodo ApplyDispatchBehavior(ContractDescription, ServiceEndpoint, DispatchRuntime) che abilita il supporto del servizio.

IContractBehavior.Validate(ContractDescription, ServiceEndpoint)

Implementa il metodo IContractBehavior.Validate(ContractDescription, ServiceEndpoint) per abilitare il supporto della convalida.

Si applica a