用
.net
编写的应用程序尝试使用 EventStore.Client.Grpc.Streams 23.1.0
读取事件流。逻辑如下:
TenantCreated
事件TenantCreated
事件。问题实际上是,当应用程序通过
_client.ReadStreamAsync
读取事件流时,如果没有流,就会抛出异常。从性能的角度来看,异常的成本很高。
即使流版本为0,如何无异常地读取流?
如果你检查结果中的
StreamState
,它将是StreamNotFound
var res = conn.ReadStreamAsync(Direction.Forwards, streamName, startPosition, Int64.MaxValue, resolveLinkTos: false, cancellationToken: ct)
if (res.ReadState == ReadState.StreamNotFound)
// TODO handle empty