2017-02-08 7 views
0

C# API AppendToStreamAsync() 호출을 사용하여 EventStore 스트림에 쓰고 있습니다. WriteResult를 반환하는 동안 새로 추가 된 이벤트의 버전이 반환되지 않습니다. 잠재적으로 여러 클라이언트가이 스트림에 쓰고 있으므로 NextExpectedVersion에 의존 할 수 없습니다.스트림에 추가 된 이벤트 버전을 얻는 방법

나는 스트림을 구독하고 "내"이벤트가 나타나기를 기다리며, 을보고 싶었지만 뭔가 다른 것을 놓쳤습니다. documentation은 꽤 가벼우 며 반환 된 유형에 대해서도 언급하지 않았습니다.

이 번호를 얻는 가장 좋은 방법으로 간주되는 것은 무엇입니까?

답변

0

스트림을 작성하기 전에 집계 (스트림) 버전을 알고 있기 때문에 버전을 알 수 없으므로 버전이 필요하지 않습니다.

스트림에 새 이벤트를 작성하기 전에 스트림을 읽어야 집계를 재 수화해야합니다. 그런 다음 버전을 알 수 있습니다. 다른 작성자가 같은 스트림에 쓰면 먼저 새 상태로 만들어야합니다. (메모리에 집계가있는 경우 집계의 현재 버전에서 쿼리 할 수 ​​있습니다.)

낙관적 잠금이 필요하지 않은 경우 스트림을 쓸 때 ANY 버전을 제공 할 수 있습니다. (스트림이 로깅 스트림 일 때 수행 할 수 있습니다.)