我正在尝试实现一个基于事件存储库( eventstore.com )的存储库。Eventstore正在运行我正在粗略地跟踪这个视频:https://www.youtube.com/watch?v=Sopi-gI5qKU
现在,我给AppendToStreamAsync的电话挂了。我不明白为什么,,我做错什么了?
码头工人:
[ 1,12,10:25:43.886,INF] Connection '"external-normal"""' ["172.18.0.1:49020", {508e83cf-f221-4627-84a0-7c32265ee51d}] closed: Success.
[ 1,58,10:25:43.886,DBG] Persistent subscription lost connection from "172.18.0.1:49020"
[ 1,58,10:25:44.083,INF] External TCP connection accepted: [Normal, "172.18.0.1:49024", L"172.18.0.3:1113", {9b21e221-ea26-43a0-889b-a01f8ee14929}].
[ 1,58,10:25:45.254,INF] ES "TcpConnection" closed [10:25:45.254: N"172.18.0.1:49024", L"172.18.0.3:1113", {9b21e221-ea26-43a0-889b-a01f8ee14929}]:Received bytes: 153, Sent bytes: 0
[ 1,58,10:25:45.254,INF] ES "TcpConnection" closed [10:25:45.254: N"172.18.0.1:49024", L"172.18.0.3:1113", {9b21e221-ea26-43a0-889b-a01f8ee14929}]:Send calls: 0, callbacks: 0
[ 1,58,10:25:45.254,INF] ES "TcpConnection" closed [10:25:45.254: N"172.18.0.1:49024", L"172.18.0.3:1113", {9b21e221-ea26-43a0-889b-a01f8ee14929}]:Receive calls: 2, callbacks: 2
[ 1,58,10:25:45.254,INF] ES "TcpConnection" closed [10:25:45.254: N"172.18.0.1:49024", L"172.18.0.3:1113", {9b21e221-ea26-43a0-889b-a01f8ee14929}]:Close reason: [Success] "Socket closed"
[ 1,58,10:25:45.255,INF] Connection '"external-normal"""' ["172.18.0.1:49024", {9b21e221-ea26-43a0-889b-a01f8ee14929}] closed: Success.
[ 1,58,10:25:45.255,DBG] Persistent subscription lost connection from "172.18.0.1:49024"[Fact(Timeout = 20000)]
public async Task ThatStoredEventsCanBeRehydrated()
{
var settings = ConnectionSettings.Create()
.KeepReconnecting()
.SetGossipTimeout(TimeSpan.FromMilliseconds(500))
.SetGossipSeedEndPoints(
new IPEndPoint(IPAddress.Loopback, 2113)
)
.SetDefaultUserCredentials(new UserCredentials("admin", "changeit"));
var connection = EventStoreConnection.Create(settings, new IPEndPoint(IPAddress.Loopback, 1113));
await connection.ConnectAsync();
var aggregateId = Guid.NewGuid();
var list = new List<IEvent>()
{
new AccountCreatedEvent(aggregateId, "Eric"),
new FundsDepositedEvent(aggregateId, 150),
new FundsDepositedEvent(aggregateId, 100),
new FundsWithdrawnEvent(aggregateId, 25),
};
foreach (var ev in list)
{
var json = JsonConvert.SerializeObject(ev,
new JsonSerializerSettings {TypeNameHandling = TypeNameHandling.None});
var payload = Encoding.UTF8.GetBytes(json);
var eventStoreDataType = new EventData(Guid.NewGuid(), ev.GetType().Name, true, payload, null);
await connection.AppendToStreamAsync(Infrastructure.DataStorage.EventStore.StreamId(aggregateId),
ExpectedVersion.Any, eventStoreDataType);
}发布于 2021-06-11 13:49:19
虽然您在不安全模式下运行ESDB,但默认情况下,客户端试图通过TCP连接TLS,但失败。
您只需使用这一行进行连接,它就能工作:
var connection =
EventStoreConnection.Create(
"ConnectTo=tcp://localhost:1113; UseSslConnection=false;"
);请记住,TCP协议是遗留的,并将在某一时刻被逐步淘汰。我强烈建议只使用gRPC客户机。
https://stackoverflow.com/questions/67935582
复制相似问题