sql >> データベース >  >> NoSQL >> Redis

Redis永続性を備えたMassTransitsagaは、MethodAccpetに実装例外がないことを示します

    ここでの問題は要求/応答です。

    これは次のように機能します:

    1. MTは、リクエストIDをsaga状態プロパティUrlRequestIdに配置します
    2. リクエストが送信されます
    3. 応答が返されます。応答には、ヘッダーにリクエスターアドレスとリクエストIDが含まれています
    4. MTはsagaリポジトリを使用して検索します repo.Find(x => x.UrlRequestId == message.Headers.RequestId)を使用するインスタンス (したがって、これは実際のコードではありませんが、これが発生します)
    5. Redis(またはその他のKVS)はクエリをサポートしていないため、Sagaリポジトリでもクエリをサポートしておらず、「実装されていない」例外が発生します

    Request以降、応答の相関仕様は効果がありません 常にヘッダーを使用して、応答が属するsagaインスタンスを検索します。

    これを回避するには、request-responseを使用せず、代わりにcontext.Publish(new LinkCreatedEvent { ... , CorrelationId = context.Message.CorrelationId })を使用してイベントを発行します。 通常の相関関係を使用します。



    1. TransactionRequiredException更新/削除クエリの実行

    2. mongodb c#ドライバーでPOCOを使用するときに_idフィールドを管理する方法

    3. Redis-戻り値としてのLuaテーブル-これが機能しないのはなぜですか

    4. Sinonを使用したJavaScriptでのRedisインタラクションのスタブ