Class MongoDbServiceFactoryTransactionExtensions
Transaction extensions on IMongoDbServiceFactory. Opens a client session on the configured
cluster, runs body inside a transaction, commits on success and aborts on exception.
public static class MongoDbServiceFactoryTransactionExtensions
- Inheritance
-
MongoDbServiceFactoryTransactionExtensions
- Inherited Members
Methods
WithTransactionAsync(IMongoDbServiceFactory, Func<IClientSessionHandle, CancellationToken, Task>, string, TransactionOptions, CancellationToken)
Open a session on the cluster identified by configurationName (default if null), run
body inside a MongoDB transaction. Commits on success, aborts on exception. The driver
retries on transient transaction errors.
public static Task WithTransactionAsync(this IMongoDbServiceFactory factory, Func<IClientSessionHandle, CancellationToken, Task> body, string configurationName = null, TransactionOptions options = null, CancellationToken cancellationToken = default)
Parameters
factoryIMongoDbServiceFactorybodyFunc<IClientSessionHandle, CancellationToken, Task>configurationNamestringoptionsTransactionOptionscancellationTokenCancellationToken
Returns
Remarks
MongoDB requires a replica set or sharded cluster for transactions; standalone deployments throw.
WithTransactionAsync<TResult>(IMongoDbServiceFactory, Func<IClientSessionHandle, CancellationToken, Task<TResult>>, string, TransactionOptions, CancellationToken)
Generic-result variant of WithTransactionAsync(IMongoDbServiceFactory, Func<IClientSessionHandle, CancellationToken, Task>, string, TransactionOptions, CancellationToken). The body's return value is propagated to the caller on commit.
public static Task<TResult> WithTransactionAsync<TResult>(this IMongoDbServiceFactory factory, Func<IClientSessionHandle, CancellationToken, Task<TResult>> body, string configurationName = null, TransactionOptions options = null, CancellationToken cancellationToken = default)
Parameters
factoryIMongoDbServiceFactorybodyFunc<IClientSessionHandle, CancellationToken, Task<TResult>>configurationNamestringoptionsTransactionOptionscancellationTokenCancellationToken
Returns
- Task<TResult>
Type Parameters
TResult