ReceiveErrorHandling ReceiveErrorHandling ReceiveErrorHandling ReceiveErrorHandling Enum

Définition

Spécifie la gestion des messages incohérents.Specifies handling for poison messages.

public enum class ReceiveErrorHandling
public enum ReceiveErrorHandling
type ReceiveErrorHandling = 
Public Enum ReceiveErrorHandling
Héritage
ReceiveErrorHandlingReceiveErrorHandlingReceiveErrorHandlingReceiveErrorHandling

Champs

Drop Drop Drop Drop 1

Cette option supprime le message incohérent,This option drops the poison message. qui ne sera dès lors jamais remis à l'application.The message never gets delivered to the application. Si le TTL du message a déjà expiré à ce stade, le message peut apparaître dans la file d'attente de lettres mortes de l'expéditeur.If the message's TTL had already expired at this point, then the message may appear in the sender's Dead Letter Queue. Sinon, il n'apparaît nulle part.If not, the message does not appear anywhere. Cette option indique que l'utilisateur ne se soucie pas vraiment de la perte du message.This option indicates that the user does not really care if the message is lost.

Fault Fault Fault Fault 0

Cette option envoie une erreur à l'écouteur à l'origine de l'utilisation par défaut du ServicHost.This option sends a fault to the listener that caused the ServiceHost to fault. Le message doit être supprimé de la file d'attente d'application par un mécanisme externe pour que l'application puisse continuer à traiter les messages de la file d'attente.The message must be removed from the application queue by some external mechanism before the application can continue to process messages from the queue.

Move Move Move Move 3

Cette option déplace le message incohérent vers une file d'attente de messages incohérents en vue d'un traitement ultérieur par une application de gestion de messages incohérents.This moves the poison message to a Poison Message Queue for later processing by a poison message handling application.

Reject Reject Reject Reject 2

Cette option demande au Message Queuing (MSMQ) d'envoyer un accusé de réception négatif au gestionnaire de files d'attente émetteur pour signaler que l'application ne peut pas recevoir le message.This instructs MSMQ to send a negative acknowledgement back to the sending queue manager that the message cannot be received by the application. Le message est placé dans la file d'attente de lettres mortes du gestionnaire de files d'attente émetteur.The message is placed in the sending queue manager's Dead Letter Queue.

Exemples

Le code de configuration suivant montre comment définir cette propriété dans le fichier de configuration du service :The following configuration code illustrates how to set this property in the service configuration file:

<configuration>
  <appSettings>
    <!-- use appSetting to configure MSMQ queue name -->
    <add key="queueName" value=".\private$\ServiceModelSamplesPoison" />
    <add key="baseAddress" value="http://localhost:8000/orderProcessor/poisonSample"/>
  </appSettings>
  <system.serviceModel>
    <services>
      <service 
              name="Microsoft.ServiceModel.Samples.OrderProcessorService">
        <!-- Define NetMsmqEndpoint -->
        <endpoint address="net.msmq://localhost/private/ServiceModelSamplesPoison"
                  binding="netMsmqBinding"
                  bindingConfiguration="PoisonBinding" 
                  contract="Microsoft.ServiceModel.Samples.IOrderProcessor" />
      </service>
    </services>

    <bindings>
      <netMsmqBinding>
        <binding name="PoisonBinding" 
                 receiveRetryCount="0"
                 maxRetryCycles="1"
                 retryCycleDelay="00:00:05" 					 
                 receiveErrorHandling="Fault"
                        />
      </netMsmqBinding>
    </bindings>
  </system.serviceModel>
</configuration>

Remarques

Un message incohérent est un message qui ne parvient pas à effectuer des tentatives répétées de remise à l’application.A poison message is a message that fails repeated attempts to deliver to the application. Cela vaut uniquement dans le cas de l’utilisation d’une liaison basée sur Message Queuing (MSMQ).This is applicable only when using a Message Queuing (MSMQ)-based binding. La valeur par défaut est Fault, qui utilise par défaut l'écouteur et, par conséquent, le ServiceHost.The default value is Fault, which faults the listener and therefore the ServiceHost. Dans le cas où le service est utilisé par défaut à la suite d'un message incohérent, une MsmqPoisonMessageException est levée.In the case where the service was to fault because of a poison message, a MsmqPoisonMessageException is thrown. L'exception contient l'LookupId du message MSMQ qui peut être utilisé pour déplacer le message à l'aide de l'API System.Messaging.The exception contains the LookupId of the MSMQ message that can be used to move the message out of the way using System.Messaging API. Certaines valeurs de l'énumération ReceiveErrorHandling telles que Reject et Move sont uniquement disponibles sur Windows VistaWindows Vista.Certain values of the ReceiveErrorHandling enumeration such as Reject and Move are only available on Windows VistaWindows Vista. Vous pouvez contrôler la gestion des messages incohérents en affectant une des valeurs de cette énumération à la propriété ReceiveErrorHandling.You control poison message handling by setting the ReceiveErrorHandling property to one of the values of this enumeration.

S’applique à

Voir aussi