public async Task <OperationResult <Serving> > ReadAsync(Guid id)
        {
            try
            {
                var trOps = new TransactionOptions
                {
                    IsolationLevel = IsolationLevel.ReadCommitted,
                    Timeout        = TimeSpan.FromSeconds(30)
                };

                using var transactionScope = new TransactionScope(TransactionScopeOption.Required, trOps, TransactionScopeAsyncFlowOption.Enabled);
                var result = await _dao.ReadAsync(id);

                transactionScope.Complete();

                return(new OperationResult <Serving>()
                {
                    Success = true, Result = result
                });
            }
            catch (Exception e)
            {
                return(new OperationResult <Serving>()
                {
                    Success = false, Exception = e
                });
            }
        }
示例#2
0
        public async virtual Task <OperationResult <Serving> > ReadAsync(Guid id)
        {
            try
            {
                using var transactionScope = new TransactionScope(TransactionScopeOption.Required, transactionOptions, TransactionScopeAsyncFlowOption.Enabled);
                var result = await _dao.ReadAsync(id);

                transactionScope.Complete();
                return(new OperationResult <Serving> {
                    Result = result, Success = true
                });
            }
            catch (Exception e)
            {
                return(new OperationResult <Serving>()
                {
                    Success = false, Exception = e
                });
            }
        }
示例#3
0
        public async Task <OperationResult <Serving> > ReadAsync(Guid id)
        {
            try
            {
                using (var ts = new TransactionScope(TransactionScopeOption.Required, opts, TransactionScopeAsyncFlowOption.Enabled))
                {
                    var res = await _dao.ReadAsync(id);

                    ts.Complete();
                    return(new OperationResult <Serving>()
                    {
                        Success = true, Result = res
                    });
                }
            }
            catch (Exception e)
            {
                return(new OperationResult <Serving>()
                {
                    Success = false, Exception = e
                });
            }
        }