Example #1
0
        /// <summary>
        ///     Obtém informações de persistência definidas nos métodos
        /// </summary>
        /// <param name="invocation"></param>
        /// <returns></returns>
        protected IEnumerable <AttributeType> GetContextAttributes(IMethodInvocation invocation)
        {
            //Recupera os atributos do método
            IEnumerable <AttributeType> returnValue = invocation.GetAttibutes <AttributeType>(this.AttributeQueryFilter);

            return(returnValue);
        }
Example #2
0
        private static ExceptionHandlingAttribute GetAttribute(IMethodInvocation invocation)
        {
            ExceptionHandlingAttribute attribute = invocation.GetAttibutes <ExceptionHandlingAttribute>().FirstOrDefault();

            if (attribute == null)
            {
                attribute = new ExceptionHandlingAttribute(ExceptionHandlingStrategy.BreakOnException);
            }

            if (attribute.Strategy.HasFlag(ExceptionHandlingStrategy.ContinueRunning) && (invocation.Method.ReturnType != typeof(void)))
            {
                throw new InvalidOperationException("Somente métodos com retorno void podem usar a estratégia de supressão de exceptions.");
            }
            return(attribute);
        }