实现一个简单的IFindSaga

问题描述 投票:0回答:2

我实现了一个简单的IFindSaga,我提到并遵循了SQL Persistence Saga Finding Logic特定软件文档中提供的相同步骤。我在session.GetSagaData<SagaData>收到一个错误,指出:“SynchronizedStorageSession不包含GetSagaData的定义,并且没有扩展方法GetSagaData接受SynchronizedStorageSession类型的第一个参数(你是否错过了使用指令或汇编引用)。”请帮我解决这个问题。

这是我实现IFindSaga的代码

public class TrackerFind : IFindSagas<SagaData>.Using<ITrackerData>
        {
            public Task<SagaData> FindBy(ITrackerData message, SynchronizedStorageSession session, ReadOnlyContextBag context)
            {
                return session.GetSagaData<SagaData>(
                    context: context,
                    whereClause: "JSON_VALUE(Data,'$.PaymentTransactionId') = @propertyValue",
                    appendParameters: (builder, append) =>
                    {
                        var parameter = builder();
                        parameter.ParameterName = "propertyValue";
                        parameter.Value = message.TrackerID;
                        append(parameter);
                    });
            }
        }
c# .net nservicebus saga
2个回答
0
投票

“GetSagaData”是一种扩展方法,它是“NserviceBus”命名空间的一部分。包括以下声明

using NServiceBus;

这对我有用。我现在没有收到这个错误


-2
投票

使用nuget

包NServiceBus.Persistence.Sql

© www.soinside.com 2019 - 2024. All rights reserved.