2012-07-19 43 views
0

在執行saga orchestration服務類的ConfigureHowToFindSaga()方法時,我遇到了一個問題。使用具有多個點的參數進行ConfigureMapping

在這種方法中,我必須指定如何將接收到的消息連接到當前的saga對話。我必須特別指定包含saga id的消息的屬性。 這propery是這樣的:message.Sup.SubProperty,我不能這樣做,因爲nservicebus只獲得message的第一個屬性。

我不想改變我的nservicebus版本。

我怎麼弄出來的?

+0

是否有可能推高該財產?另外,你正在運行什麼版本? – 2012-07-20 16:35:15

+0

我的版本是2.6.0.1054。你推高房產意味着什麼?如果你的意思是在消息中創建一個快捷方式,它是不可能的,因爲我沒有控制消息到達我的應用程序(他們都遵循商業標準) – Riccardo 2012-07-21 13:22:42

回答

2

你有2種選擇:

  1. 創建它發送一個新的消息,那有你需要關聯在更高級別上定義的屬性消息處理程序。

  2. 撰寫通過實施IFindSagas <牛逼>。採用<中號>你自己的傳奇取景器。

我認爲選項1會更容易編碼。您也可以將處理程序放置在與傳奇相同的端點中,然後執行Bus.SendLocal,以便它不會以任何重要方式影響您的部署。

+0

第一個選項是我正在考慮的,可能會成爲這個問題的解決方案。選項2號會更好,我試圖做到這一點,但IfindSagas.Using的FindBy方法的輸出是一個獨特的佐賀istance,我會需要多個傳奇istance。我是否必須更改IFindSagas.Using接口? – Riccardo 2012-07-22 10:23:20

+0

目前我們不支持每個消息正在處理的多個saga實例 - 我們正在下一個主要版本中尋找這個方向。 – 2012-07-22 13:09:53

+0

非常感謝你Udi! – Riccardo 2012-07-22 16:59:09