ReceiveErrorHandling Enum

Definitie

Hiermee geeft u verwerking voor gifberichten.

public enum class ReceiveErrorHandling
public enum ReceiveErrorHandling
type ReceiveErrorHandling = 
Public Enum ReceiveErrorHandling
Overname
ReceiveErrorHandling

Velden

Name Waarde Description
Fault 0

Met deze optie wordt een fout verzonden naar de listener die de ServiceHost heeft veroorzaakt. Het bericht moet door een extern mechanisme uit de toepassingswachtrij worden verwijderd voordat de toepassing berichten uit de wachtrij kan blijven verwerken.

Drop 1

Deze optie laat het gifbericht vallen. Het bericht wordt nooit bezorgd bij de toepassing. Als de TTL van het bericht op dit moment al is verlopen, kan het bericht worden weergegeven in de wachtrij voor dode brieven van de afzender. Als dat niet het geval is, wordt het bericht nergens weergegeven. Met deze optie wordt aangegeven dat de gebruiker niet erg belangrijk is als het bericht verloren gaat.

Reject 2

Dit geeft MSMQ de opdracht om een negatieve bevestiging terug te sturen naar de verzendende wachtrijbeheerder dat het bericht niet kan worden ontvangen door de toepassing. Het bericht wordt geplaatst in de wachtrij van de wachtrij voor het verzenden van wachtrijbeheer.

Move 3

Hiermee wordt het gifbericht verplaatst naar een gifberichtwachtrij voor latere verwerking door een toepassing voor het verwerken van gifberichten.

Voorbeelden

De volgende configuratiecode laat zien hoe u deze eigenschap instelt in het serviceconfiguratiebestand:

<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>

Opmerkingen

Een gifbericht is een bericht dat mislukt bij herhaalde pogingen om aan de toepassing te leveren. Dit is alleen van toepassing wanneer u een op MSMQ (Message Queuing) gebaseerde binding gebruikt. De standaardwaarde is Fault, waarmee de listener en daarom de ServiceHost worden beschadigd. In het geval dat de service moest worden beschadigd vanwege een gifbericht, wordt er een MsmqPoisonMessageException gegooid. De uitzondering bevat het LookupId MSMQ-bericht dat kan worden gebruikt om het bericht buiten de weg te zetten met system.messaging-API. Bepaalde waarden van de opsomming ReceiveErrorHandling zoals Reject en Move zijn alleen beschikbaar op Windows Vista. U bepaalt de verwerking van gifberichten door de ReceiveErrorHandling eigenschap in te stellen op een van de waarden van deze opsomming.

Van toepassing op

Zie ook