private async Task InterceptAsync(Task task, ISessionScope scope, CancellationToken ct) { await task.ContinueWith(async t => { await scope.SaveChangesAsync(ct); scope.Dispose(); }, ct).ConfigureAwait(false); }
private async Task <T> InterceptAsync <T>(Task <T> task, ISessionScope scope, CancellationToken ct) { var result = await task.ContinueWith(async t => { var res = t.Result; await scope.SaveChangesAsync(ct); scope.Dispose(); return(res); }, ct).ConfigureAwait(false); return(await result); }