Пример #1
0
 private async Task InterceptAsync(Task task, ISessionScope scope, CancellationToken ct)
 {
     await task.ContinueWith(async t =>
     {
         await scope.SaveChangesAsync(ct);
         scope.Dispose();
     }, ct).ConfigureAwait(false);
 }
Пример #2
0
        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);
        }