キュー (MSMQ) でメッセージをリッスンする WCF サービスがあります。HTTP ステータス コードを返す Web サーバー (REST API) に要求を送信します。
ステータス コードが 400 の範囲内にある場合、メッセージは破棄されます。アイデアは、400 範囲のエラーが成功することは決してない (未承認、不正な要求、見つからないなど) ため、再試行を続けたくないということです。
他のすべてのエラー (例: 500 - 内部サーバー エラー) については、メッセージを "再試行" キューに入れるように WCF を構成しています。再試行キューのメッセージは、一定の時間が経過すると再試行されます。サーバーが一時的にダウンしているため、しばらく待ってからもう一度試してください。
WCF の設定方法FaultException
では、サービス コントラクトで をスローすると、自動的にメッセージが再試行キューに入れられます。
メッセージが 400 範囲のエラーを引き起こした場合、エラーを飲み込んでいるだけです (ログに記録するだけです)。これにより、再試行メカニズムが起動されなくなります。ただし、メッセージを配信不能キューに移動することをお勧めします。このようにして、ユーザーやシステム管理者に電子メールを送信することでエラーに対応できます。
これらの不良メッセージをすぐに配信不能キューに移動する方法はありますか?