Ejemplo n.º 1
0
        async Task Behavior <TInstance> .Execute <T>(BehaviorContext <TInstance, T> context)
        {
            var behavior = new DataBehavior <TInstance, T>(_next);

            try
            {
                await _activity.Execute(context, behavior).ConfigureAwait(false);
            }
            catch (Exception exception)
            {
                await ExceptionTypeCache.Faulted(behavior, context, exception).ConfigureAwait(false);
            }
        }
Ejemplo n.º 2
0
        async Task Behavior <TInstance> .Execute <T>(BehaviorContext <TInstance, T> context)
        {
            var behavior = new DataBehavior <TInstance, T>(_next);

            Exception activityException = null;

            try
            {
                await _activity.Execute(context, behavior);
            }
            catch (Exception exception)
            {
                activityException = exception;
            }

            // once we can await in catch we're golden
            if (activityException != null)
            {
                await ExceptionTypeCache.Faulted(behavior, context, activityException);
            }
        }
Ejemplo n.º 3
0
        Task Behavior <TInstance> .Faulted <T, TException>(BehaviorExceptionContext <TInstance, T, TException> context)
        {
            var behavior = new DataBehavior <TInstance, T>(_next);

            return(_activity.Faulted(context, behavior));
        }