public Task <CompletableSynchronizedStorageSession> TryAdapt(OutboxTransaction transaction, ContextBag context, CancellationToken cancellationToken = default)
    {
        if (!(transaction is ISqlOutboxTransaction outboxTransaction))
        {
            return(EmptyResultTask);
        }
        var session = new StorageSession(outboxTransaction.Connection, outboxTransaction.Transaction, false, infoCache);

        currentSessionHolder?.SetCurrentSession(session);

        return(Task.FromResult <CompletableSynchronizedStorageSession>(session));
    }
Example #2
0
    public async Task <CompletableSynchronizedStorageSession> OpenSession(ContextBag contextBag)
    {
        var connection = await connectionManager.OpenConnection(contextBag.GetIncomingMessage()).ConfigureAwait(false);

        var transaction = connection.BeginTransaction();
        var session     = new StorageSession(connection, transaction, true, infoCache);

        currentSessionHolder.SetCurrentSession(session);
        return(session);
    }