0

SqlPersistenceNServiceBus 6 とを使用して、あるプロジェクトの Saga を別のプロジェクトでホストしようとしていますSqlDialect.MsSqlServer。私が見つけたほとんどの例では、Saga はホスティング アプリと同じアセンブリに含まれており、おそらくこれが苦労している理由です。

すべてを同じアプリでホストする場合、NServiceBus.Persistence.Sql.MsBuildパッケージ.sqlはビルド中に Saga ファイルを正しく出力し、実行時にこれらを取得して実行します。別のアプリを使用すると、Outboxファイルのみが生成され、Saga のファイルは生成されません。次に、実行時に次のエントリが記録されます。SubscriptionTimeout .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 永続性の問題を解決する最善の方法をアドバイスできますか?

4

1 に答える 1