Domanda

Qualcuno può spiegarmi la differenza tra questi 3 approcci all'elaborazione dei messaggi che non riescono a recapitare?

  • Servizio coda veleno
  • Servizio Coda lettere morte
  • Utilizzo di un servizio di risposta per gestire gli errori

Ho " Programmazione WCF " ;, ma non capisco davvero quando useresti uno di questi su un altro, o quando avrebbe senso usarne più di uno. Grazie!

È stato utile?

Soluzione

Morti e veleno sono due concetti diversi. I messaggi velenosi sono messaggi che possono essere letti dalla coda, ma il tuo codice non sa come gestirlo, quindi il tuo codice fa un'eccezione. Se continua per un po 'di tempo, si desidera che questo messaggio venga inserito in una coda diversa in modo da poter gestire gli altri messaggi. Un buon approccio per questo è descritto su MSDN .

Una lettera morta è un messaggio che non è nemmeno gestito dalla coda. La rete è interrotta o il computer MSMQ ricevente è spento. Qualcosa del genere. Il messaggio verrà automaticamente inserito nella coda morta dopo qualche tempo da Windows. Quindi è consigliabile scrivere un servizio che monitora la coda morta.

Altri suggerimenti

Le code dei messaggi velenosi / lettera morta vengono utilizzate per posizionare i messaggi che sono stati determinati come non recapitabili in una coda che non proverà più a consegnarli. Lo faresti se desideri dare un'occhiata manualmente ai messaggi non riusciti ed elaborarli in un secondo momento. Si utilizza questo tipo di code quando si desidera impedire ai messaggi danneggiati di degradare le prestazioni del proprio sistema riprovando più volte.

D'altra parte, un servizio di risposta verrebbe utilizzato per informare il mittente che si è verificato un errore durante l'elaborazione del messaggio. In genere in questo caso non si prevede di elaborare manualmente il messaggio non valido e è necessario consentire al sistema che ha inviato il messaggio di rifiutare la richiesta.

Nota che questi non sono esclusivi. Se stai usando le code, c'è sempre la possibilità che la serializzazione dei messaggi possa cambiare abbastanza da interrompere i messaggi che si trovano nella coda, nel qual caso potresti comunque voler avere una coda di messaggi non funzionanti anche se stai usando un servizio di risposta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top