2010-09-26 44 views
14

任何人在Unity 2.0中成功使用NServiceBus 2.0?NServiceBus與Unity 2.0?

我試着編譯NServiceBus.ObjectBuilder.Unity.dll對Unity 2.0程序集的源代碼,但由於新Unity中許多對象方法的更改/刪除簽名而導致了幾個編譯時錯誤。

在文檔Udi Dahan says中,附加任何容器與執行​​的5種方法一樣簡單。但是當我看着NServiceBus.ObjectBuilder.Unity實現時,我發現有很多工作要做。爲什麼是這樣?

+0

你是什麼意思,「很多更多的工作要做」(你可以更具體)?該實現只調用相應的Unity方法,並根據接口的語義返回創建的對象。 – tobsen 2011-03-23 08:14:34

+0

@tobsen當我看這個來源,我看不到簡單:https://github.com/NServiceBus/NServiceBus/tree/master/src/impl/ObjectBuilder/ObjectBuilder.Unity。似乎實現者應該瞭解NServiceBus的內部架構。讓我知道如果我錯了... – 2011-03-24 12:31:55

回答

3

默認情況下,Unity的行爲與NSB所期望的行爲不同。這就是爲什麼需要一些自定義擴展來使其與ObjectBuilder合約兼容。有兩個主要的區別:

  • Unity要求DependencyAttribute到 注入依賴屬性。 NSB預計ObjectBuilder的以在與匹配 型
  • 當這樣做屬性注射 統一對待屬性依賴關係 必需的,而他們NSB預計 是可選的任何屬性注入 。

我相信這些功能保留在2.0版本中,並且很容易將其遷移。本週我應該有一些時間,我希望我會創建一個Unity v2實現。完成後我會通知你。

編輯: 完成。單元2對象構建器在主幹中。

+1

這裏是提交的鏈接:https://github.com/NServiceBus/NServiceBus/commit/324a112229bedd55baaff144eea9a81126a0f343 – 2011-03-28 13:47:12

+0

1.2仍然是部署在Nuget上的版本。任何機會這將被更新? Unity 2.x已經出現很長時間了,現在應該是默認設置。 – 2011-10-04 15:08:16