等待识别客户端超时 (ReadStreamEventsForwardAsync)

Timed out waiting for client to be identified (ReadStreamEventsForwardAsync)

我正在尝试使用 4.0.0 C# 客户端 API (EventStore.ClientAPI.dll) 连接到 GetEventStore 版本 3.2.2。我已将其作为 LINQPad 5 中的示例编写,以便我可以找出问题所在。 LINQPad 查询是为 C# 语句设置的。这是我到目前为止编写的用户查询。

var localHostAddressses = Dns.GetHostAddresses(Dns.GetHostName());
var localAddress = localHostAddressses.FirstOrDefault(ha => ha.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) ?? IPAddress.Loopback;
var endPoint = new IPEndPoint(localAddress, 1113);
var userCredentials = new EventStore.ClientAPI.SystemData.UserCredentials("admin", "changeit");

var settings = EventStore.ClientAPI.ConnectionSettings.Create();
settings.SetDefaultUserCredentials(userCredentials);
settings.UseConsoleLogger();
settings.WithConnectionTimeoutOf(TimeSpan.FromSeconds(2));
settings.LimitReconnectionsTo(1);
settings.SetOperationTimeoutTo(TimeSpan.FromSeconds(2));

using (var client = EventStore.ClientAPI.EventStoreConnection.Create(settings, endPoint))
{
    client.ConnectAsync().Wait();

    var streamName = "SpecialStreamName42";     
    var task = client.ReadStreamEventsForwardAsync(streamName, 0, 10, false);
    task.Wait();

    task.Result.Dump();
}

它产生以下输出

[19,14:05:27.126,DEBUG] TcpPackageConnection: connected to [192.168.15.201:1113, L192.168.15.201:28239, {c4f69c94-254f-475c-883a-06e427fd4610}].
[08,14:05:29.176,INFO] ClientAPI TcpConnection closed [14:05:29.176: N192.168.15.201:1113, L192.168.15.201:28239, {c4f69c94-254f-475c-883a-06e427fd4610}]:
[08,14:05:29.176,INFO] Received bytes: 116, Sent bytes: 124
[08,14:05:29.176,INFO] Send calls: 3, callbacks: 3
[08,14:05:29.176,INFO] Receive calls: 4, callbacks: 3
[08,14:05:29.176,INFO] Close reason: [Success] Timed out waiting for client to be identified
[08,14:05:29.176,DEBUG] TcpPackageConnection: connection [192.168.15.201:1113, L192.168.15.201:28239, {c4f69c94-254f-475c-883a-06e427fd4610}] was closed cleanly.
[11,14:05:29.377,DEBUG] TcpPackageConnection: connected to [192.168.15.201:1113, L192.168.15.201:28240, {9373790b-6f43-4d3f-bf66-77325b529bd0}].
[19,14:05:31.427,INFO] ClientAPI TcpConnection closed [14:05:31.427: N192.168.15.201:1113, L192.168.15.201:28240, {9373790b-6f43-4d3f-bf66-77325b529bd0}]:
[19,14:05:31.427,INFO] Received bytes: 116, Sent bytes: 124
[19,14:05:31.427,INFO] Send calls: 3, callbacks: 3
[19,14:05:31.427,INFO] Receive calls: 4, callbacks: 3
[19,14:05:31.427,INFO] Close reason: [Success] Timed out waiting for client to be identified
[19,14:05:31.427,DEBUG] TcpPackageConnection: connection [192.168.15.201:1113, L192.168.15.201:28240, {9373790b-6f43-4d3f-bf66-77325b529bd0}] was closed cleanly.

第 19 行的 task.Wait(); 从未完成,最终查询以发生一个或多个错误的 AggregateException 结束。内部异常显示为 "Connection 'ES-7a7e3dfb-db11-4a5c-872c-100ad7724ba2' was closed."。我正在按照我所看到的示例进行操作,但似乎没有取得任何进展。希望这是我没有设置的愚蠢的东西,可以让我的客户得到通知。如果您有任何想法,请告诉我。

4.0.0客户端兼容ES 3.9.4及以上版本。客户端 3.9.5 是双向兼容的。

在他们的 announcement 中提到了它,请参阅重大更改。