簡體   English   中英

無法通過具有SQL持久性的其他服務托管NServiceBus Saga

[英]Unable to host an NServiceBus Saga from another Service with SQL Persistence

我正在嘗試使用帶有SqlPersistenceSqlDialect.MsSqlServer NServiceBus 6在另一個項目中的一個項目中承載Saga。 在我發現的大多數示例中,Saga與托管應用程序都包含在同一程序集中,也許這就是我在努力的原因。

在同一應用程序中托管所有內容時, NServiceBus.Persistence.Sql.MsBuild包在構建過程中正確輸出Saga .sql文件,然后將其提取並在運行時執行它們。 使用單獨的應用程序,僅生成OutboxSubscriptionTimeout .sql文件,而不生成Saga文件。 然后在運行時登錄以下條目:

INFO NServiceBus.Persistence.Sql.Installer目錄'[PATH] \\ SagaPersistence \\ Service \\ bin \\ Debug \\ NServiceBus.Persistence.Sql \\ MsSqlServer \\ Sagas'未找到,因此將不執行saga創建腳本。

完整的VS 2017 repro可以在https://github.com/WolfyUK/NServiceBusSagaSqlPersistence找到。

首先,從另一個服務托管Sagas而不是自我托管是一個壞主意嗎? 如果沒有,有人可以建議解決SQL Persistence問題的最佳方法嗎?

可以將NServiceBus.Persistence.Sql.MsBuild添加到Saga項目嗎? 然后應在此處找到腳本。 不幸的是,它們沒有被復制到主機的文件夾中,因此您必須將它們從那里帶入生產環境。 或者像您已經在使用EnableInstallers生成它們一樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM