ReceiveErrorHandling Enum
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Anger hantering av giftmeddelanden.
public enum class ReceiveErrorHandling
public enum ReceiveErrorHandling
type ReceiveErrorHandling =
Public Enum ReceiveErrorHandling
- Arv
Fält
| Name | Värde | Description |
|---|---|---|
| Fault | 0 | Det här alternativet skickar ett fel till lyssnaren som orsakade servicehost-felet. Meddelandet måste tas bort från programkön av någon extern mekanism innan programmet kan fortsätta att bearbeta meddelanden från kön. |
| Drop | 1 | Det här alternativet släpper giftmeddelandet. Meddelandet levereras aldrig till programmet. Om meddelandets TTL redan hade upphört att gälla nu kan meddelandet visas i avsändarens kö för obeställbara meddelanden. Annars visas inte meddelandet någonstans. Det här alternativet anger att användaren inte bryr sig om meddelandet går förlorat. |
| Reject | 2 | Detta instruerar MSMQ att skicka en negativ bekräftelse tillbaka till den sändande köhanteraren om att meddelandet inte kan tas emot av programmet. Meddelandet placeras i köhanterarens kö för obeställbara meddelanden. |
| Move | 3 | Detta flyttar giftmeddelandet till en giftmeddelandekö för senare bearbetning av ett program för hantering av giftmeddelanden. |
Exempel
Följande konfigurationskod visar hur du anger den här egenskapen i tjänstkonfigurationsfilen:
<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>
Kommentarer
Ett giftmeddelande är ett meddelande som misslyckas med upprepade försök att leverera till programmet. Detta gäller endast när du använder en MSMQ-baserad bindning (Message Queuing). Standardvärdet är Fault, som felar lyssnaren och därmed ServiceHost. I det fall tjänsten skulle fela på grund av ett giftmeddelande utlöses en MsmqPoisonMessageException . Undantaget innehåller LookupId det MSMQ-meddelande som kan användas för att flytta meddelandet ur vägen med hjälp av System.Messaging API. Vissa värden för uppräkningen ReceiveErrorHandling, till exempel Reject och Move är endast tillgängliga på Windows Vista. Du styr hantering av giftmeddelanden genom att ange ReceiveErrorHandling egenskapen till ett av värdena för den här uppräkningen.