Use-case for IEventStoreConnection.ContinueTransaction()?

Hi chaps,

I’m implementing transaction support for my eventstore usage (initially it passed me by that GES doesn’t enroll in System.Transactions.TransactionScope-style usage so maybe that could be shouted-out in the docs?) and have seen EventStoreTransaction ContinueTransaction(long transactionId). Yes, I use a container with a per-request lifestyle for my connections.

What is the expected use-case for this? I was planning on potentially making multiple writes to a single EventStoreTransaction object reference, but basically apart from calling Commit() when I’m done, the usage isn’t much different to using EventStoreConnection as I have until now.

I guess I’m mostly looking for confirmation that I don’t need ContinueTransaction() in my case, and that there’s a specific reason for it being there.

Thanks in advance,


StartTransaction -> id
//Node falls over
Different node
ContinueTransaction id

So I should actually be retrieving the transaction by it’s ID for every write, because I don’t know whether the node I started with is still the one I’m using? What about the connection I use? Should I use EventStoreConnection.Create() for every write (obviously not if there’s more than one write in a given block of code, but perhaps where multiple command handlers each cause writes to happen within a single request) to insulate myself from that?

This is the *client* dying and another client continuing its
transaction. When a server node dies nothing needs to be done.


I thought it was odd, because I beat the hell out of a 5-node clustered (on one machine, admittedly) GES setup and it worked like a charm.

Cheers again.

I dont know anyone who has actually used it but can imagine some
interesting use cases