C# Eventstore:如何正确设置持久订阅客户端?

C# Eventstore:如何正确设置持久订阅客户端?,c#,event-sourcing,eventstoredb,C#,Event Sourcing,Eventstoredb,我正在使用EventStoreDB V20,并试图在本地开发人员机器上设置一个持久订阅。在仪表板上,我可以看到列出的持久订阅,但处理程序从未被调用 我正在使用这些NUGET: 我在docker中运行EventStore: docker run --name esdb-node -it -p 2113:2113 -p 1113:1113 -e EVENTSTORE_DEV=true eventstore/eventstore:latest --insecure --run-projections

我正在使用EventStoreDB V20,并试图在本地开发人员机器上设置一个持久订阅。在仪表板上,我可以看到列出的持久订阅,但处理程序从未被调用

我正在使用这些NUGET:

我在docker中运行EventStore:

docker run --name esdb-node -it -p 2113:2113 -p 1113:1113 -e EVENTSTORE_DEV=true eventstore/eventstore:latest --insecure --run-projections=All --enable-atom-pub-over-http
对于附加事件,我执行以下操作:

await eventStoreClient.AppendToStreamAsync(
    aggregate.Id.ToString(),
    aggregate.Version == 0 ? StreamRevision.None : StreamRevision.FromInt64(aggregate.Version),                            events);
创建和订阅永久订阅:

var client = new EventStorePersistentSubscriptionsClient(new EventStoreClientSettings {

    CreateHttpMessageHandler = () =>
        new HttpClientHandler
        {
            ServerCertificateCustomValidationCallback =
                (message, certificate2, x509Chain, sslPolicyErrors) => true // ignore https
        },
        ConnectivitySettings = new EventStoreClientConnectivitySettings
        {
            Address = new Uri("http://127.0.0.1:2113?Tls=false&TlsVerifyCert=false")
        }});

        await client.CreateAsync("all", "TestGroup", new PersistentSubscriptionSettings(startFrom: StreamPosition.End));

        await SubscribeAsync(client);

        Console.ReadLine();
    }

    private static Task<PersistentSubscription> SubscribeAsync(EventStorePersistentSubscriptionsClient client)
    {
        return client.SubscribeAsync("all", "TestGroup",
            (subscription, evt, retryCount, cancelToken) =>
            {
                Console.WriteLine("Received: " + Encoding.UTF8.GetString(evt.Event.Data.Span));

                return Task.CompletedTask;
            });
    }
var client=new EventStorePersistentSubscriptionClient(new EventStoreClientSettings{
CreateHttpMessageHandler=()=>
新型HttpClientHandler
{
ServerCertificateCustomValidationCallback=
(消息、证书2、x509Chain、sslPolicyErrors)=>true//ignore https
},
ConnectivitySettings=neweventstoreclientconnectivitysettings
{
地址=新Uri(“http://127.0.0.1:2113?Tls=false&TlsVerifyCert=false")
}});
等待client.CreateAsync(“all”,“TestGroup”,新的PersistentSubscriptionSettings(startFrom:StreamPosition.End));
等待订阅同步(客户端);
Console.ReadLine();
}
专用静态任务SubscribeAsync(EventStorePersistentSubscriptionsClient客户端)
{
返回client.SubscribeAsync(“全部”、“测试组”,
(订阅、evt、retryCount、cancelToken)=>
{
WriteLine(“接收:”+Encoding.UTF8.GetString(evt.Event.Data.Span));
返回Task.CompletedTask;
});
}

Console.WriteLine
从未被调用。我需要更改什么?

一切似乎都设置正确,但我怀疑您是否拥有名为
all
的流。如果试图为
$all
流创建持久订阅,则不可能。您只能在
$all
流上进行后续订阅。

您有名为
all
的流吗?不,我真的想要$all