SqlPersistence
NServiceBus 6 とを使用して、あるプロジェクトの Saga を別のプロジェクトでホストしようとしていますSqlDialect.MsSqlServer
。私が見つけたほとんどの例では、Saga はホスティング アプリと同じアセンブリに含まれており、おそらくこれが苦労している理由です。
すべてを同じアプリでホストする場合、NServiceBus.Persistence.Sql.MsBuild
パッケージ.sql
はビルド中に Saga ファイルを正しく出力し、実行時にこれらを取得して実行します。別のアプリを使用すると、Outbox
ファイルのみが生成され、Saga のファイルは生成されません。次に、実行時に次のエントリが記録されます。Subscription
Timeout
.sql
INFO NServiceBus.Persistence.Sql.Installer ディレクトリ '[PATH]\SagaPersistence\Service\bin\Debug\NServiceBus.Persistence.Sql\MsSqlServer\Sagas' が見つからないため、saga 作成スクリプトは実行されません。
VS 2017 の完全な再現はhttps://github.com/WolfyUK/NServiceBusSagaSqlPersistenceにあります。
まず、Sagas を自己ホストするのではなく、別のサービスからホストするのは悪い考えですか? そうでない場合、誰かが SQL 永続性の問題を解決する最善の方法をアドバイスできますか?