2

Dead Letter Queue と Poison Queue の違いを理解しています。トランザクションと耐久性のコンテキストで話します。

DLQ: クライアントがメッセージを送信します。MSMQ はメッセージを配信できません。メッセージはキューに残り、宛先キューに送信されるのを待っています。

PQ: メッセージは正常に配信されました。WCF サービスがメッセージを処理します。WCF 操作中に何らかのエラーが発生しました。メッセージはポイズン キューに入れられます。

(上記で間違っていたら訂正してください)

ここで、WCF サービスでエラーが発生し、トランザクション スコープ (属性) が設定されている場合、どのようにメッセージをポイズン キューに配置するか、またはこれを開発する必要がありますか? 開発が必要な場合は、どのように行われますか? 有害なメッセージの処理についてはどうですか? それらを再度処理するためにキューに戻す方法はありますか? メッセージが有害かどうかはどのように判断されますか? たとえば、WCF での操作でエラーが発生する場合がありますが、エラーから回復することができます。

4

2 に答える 2

0

配信不能キューにメッセージを配置するのは、メッセージ キューだけです。アプリケーションは、配信不能キュー内のメッセージの読み取りと削除のみを行うことができます。

于 2014-02-03T04:56:35.110 に答える
0

MSDN で Poison Message Handlingの詳細を読むことができますMSDNの MSMQ の詳細- How to: Exchange Messages with WCF Endpoints and Message Queuing Applications

「サービスがトランザクションでターゲット キューからメッセージを読み取るとき、サービスはさまざまな理由でメッセージの処理に失敗する可能性があります。その後、メッセージは再び読み取られるようにキューに戻されます。繰り返し失敗するメッセージを処理するには、セットポイズン メッセージ処理プロパティの多くは、バインディングで構成できます。プロパティには、ReceiveRetryCount、MaxRetryCycles、RetryCycleDelay、および ReceiveErrorHandling の 4 つがあります。

于 2012-04-21T18:04:31.743 に答える