Ho il seguente aspetto personalizzato e ho provato ad applicarlo a livello di progetto e di classe. In tutti i casi, anche una divisione intenzionale per zero, il metodo OnException
non viene mai chiamato. Che cosa sto facendo di sbagliato?Aspetto Postharp OnException non funzionante come previsto
[Serializable]
public class AutoLogExceptionsAspect : OnExceptionAspect
{
public override void OnException(MethodExecutionArgs args)
{
AutoLogExceptionEventSource.Log.AutoLogException(args.Exception.GetType().Name, args.Exception.Message, args.Exception.StackTrace);
args.FlowBehavior = FlowBehavior.Continue;
}
public override Type GetExceptionType(MethodBase targetMethod)
{
return typeof(Exception);
}
}
Ho provato questa decorazione su una classe:
[AutoLogExceptionsAspect]
public partial class App : Application
e questo sul progetto:
[assembly: AutoLogExceptionsAspect]
L'override di GetExceptionType è ridondante, poiché cattura comunque l'eccezione. Mostraci come hai decorato la tua classe/progetto –
@YuvalItzchakov, per favore vedi la domanda modificata. – ProfK
Prova '[assembly: YourNamespace.AutoLogExceptionsAspect (AttributeTargetTypes =" YourNamespace. * ")]' –