public Task<CompletableSynchronizedStorageSession> TryAdapt(OutboxTransaction transaction, ContextBag context) { var inMemOutboxTransaction = transaction as InMemoryOutboxTransaction; if (inMemOutboxTransaction != null) { CompletableSynchronizedStorageSession session = new InMemorySynchronizedStorageSession(inMemOutboxTransaction.Transaction); return Task.FromResult(session); } return EmptyTask; }
public Task<CompletableSynchronizedStorageSession> TryAdapt(TransportTransaction transportTransaction, ContextBag context) { Transaction ambientTransaction; if (transportTransaction.TryGet(out ambientTransaction)) { var transaction = new InMemoryTransaction(); CompletableSynchronizedStorageSession session = new InMemorySynchronizedStorageSession(transaction); ambientTransaction.EnlistVolatile(new EnlistmentNotification(transaction), EnlistmentOptions.None); return Task.FromResult(session); } return EmptyTask; }