2017-05-05 40 views
0

我想使用4.0.0 C#客户端API(EventStore.ClientAPI.dll)连接到GetEventStore版本3.2.2。我在LINQPad 5中将其作为示例写入,以便我可以弄清楚什么是错误的。 LINQPad查询为C#语句设置。这是我迄今为止编写的用户查询。超时等待客户端被识别(ReadStreamEventsForwardAsync)

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. 

task.Wait();第19行的从未完成,最终查询以发生一个或多个错误的AggregateException结束。内部异常显示“Connection'ES-7a7e3dfb-db11-4a5c-872c-100ad7724ba2'已关闭。”我正在追踪我见过的例子,我似乎没有取得任何进展。希望这是愚蠢的,我只是没有设置,这将允许我的客户被通知。如果您有任何想法,请告诉我。

+0

显然,当连接转移到“确定国家” [GoToIdentifyState](https://github.com/EventStore/EventStore/blob/56c5680f51325cf0e99846da72ae313402c63c2d/src/EventStore.ClientAPI/Internal/EventStoreConnectionLogicHandler.cs)线271.我我仍然失去了如何“识别”我的客户端到服务器,但希望这会让别人更有意义。 –

+0

进一步更新。当我使用客户端版本3.3.1到3.9.4时,它按预期连接。 –

+0

4.0.0客户端与ES 3.9.4及以上版本兼容。客户端3.9.5兼容两种方式。 –

回答

1

4.0.0客户端与ES 3.9.4及以上版本兼容。客户端3.9.5兼容两种方式。

它在announcement中提到,请参见突破性变化。