飛行機内のすべてのインスタンスをブランケットで更新できるかどうかはわかりません。私はあなたがRaven-fu(あるいはそれを使っているなら、SQL)でできることがあると思います。
問題点は、NServiceBusはメッセージタイプの完全修飾名を使用してルーティング目的で識別するため、複雑な問題であり、最初に正しく取得したいことです。
あなたがしていることは、あなたのアーキテクチャに新しいメッセージが満載だということです。変更を並行して導入し、実行中のすべてのサガインスタンスが完了できるようにしてから、廃止された、そして現在は使用されていないビットを廃止することは安全かもしれません。このよう の追加やプロパティを削除するなどのメッセージタイプに大きな変化が存在する場合には
NSBのドキュメントでは、飛行中のサガに特別なものはありませんが、重大な変更の取り扱いについて言うべきthis ...
を持っていますプロパティの種類を変更するなど、アップグレードの手順は次のとおりです。
- 新しいバージョンとの契約を更新します。
- 新しい契約バージョンを使用するように送信者を更新します。次のような受信者に変更が表示されていることを確認してください。 を使用して既存のプロパティを装飾する のプロパティを削除または名前を変更するときに警告が表示される廃止された属性。
- 新しい契約バージョンを処理する受信者を更新します。新しいプロパティが正しく処理されていることを確認してください。 .NET にint age = 1のデフォルト値を設定する代わりに、NULL可能な の型を使用し、欠損値をnullとして表す方が良いです。
- すべての送信者と受信者が更新され、古い形式の機内メッセージが処理されたら、プロパティを無効にして エラーをスローするか、単純に削除します。
どのような持続性を使用しますか? –