2014-09-29 61 views
0

說NSB將命令消息中的所有消息標題複製到回覆可以嗎? 默認情況下,NSB複製它自己的標題NSwerviceBus。*,但不是自定義的。在回覆中複製nservicebus消息標題

這是我的情況: 我有一個傳奇和一組工人。 佐賀通過經銷商發送消息給工人。 由於某些原因,工作人員無法處理某些消息。它不會失敗,只需回覆具體回覆:CannotProcessMessage。

我想要的是處理每個命令3次(佐賀應該關聯這個,而不是NSB重試機制)。我看到3個解決方案:

  1. 保存每條消息的嘗試計數字典是SagaData。這個解決方案不是很好,因爲如果消息大量消息,sagadata將變得非常大

  2. 將一個屬性「AttemptCount」添加到我的消息和我的回覆。這會起作用,但會影響我的工作界面。工作人員不應該知道任何關於企圖計數的內容

  3. 將「AttemptCount」添加到命令和回覆標題。它不會影響工作人員界面,但是,我們必須從命令中複製此標題以在工作人員中回覆。

所以,找到的第三個是最好的結果,但是找不到一個方法來說NSB自動將頭從命令複製到回覆。 它是否可行?或者也許你可以建議其他解決方案?

謝謝。

回答

1

可以使用消息存取器(或V5的新的行爲管道),以執行該標題,複製功能,包,在其自己的組件,然後部署,作爲每個工人的一部分。

+0

但我需要有命令和答覆消息從命令複製到答覆。在IMutateTransportMessages.MutateOutgoing我只有outgoint transportmessage(回覆) – Sim 2014-09-30 14:17:06

+0

看看這裏http://docs.particular.net/nservicebus/nservicebus-pipeline-intro – 2014-09-30 18:11:39

+0

肖恩,我們使用以前的版本NSB – Sim 2014-10-01 11:18:07