2011-08-01 10 views
5

Tengo un problema con Postsharp.la excepción de postrada es nula

tengo esto:

[Serializable] 
public class MethodConnectionTracking: OnExceptionAspect 
{ 
    public override void OnException(MethodExecutionArgs args) 
     { 
      base.OnException(args); 
     } 
} 

y utilicé como este. En AssemblyInfo.cs:

[assembly: MethodConnectionTracking] 

lo tanto, cuando se produce una excepción en el conjunto de su ejecuta OnException método. Pero, cuando depuro el método y veo args (escriba: MethodExecutionArgs), cada propiedad tiene un valor nulo. args.Exception es nulo. Y necesito el tipo de excepción ...

¿Alguien sabe cómo puedo solucionar esto?

Gracias de antemano

Respuesta

4

La respuesta si ya PostSharp ve que usted no está usando alguna de estas propiedades por lo que implementa optimizaciones para no hacer nada con esas propiedades. es por eso que son nulas cuando depura. cambiar su aspecto para que coincida con el siguiente OCDE a continuación, tratar de depurar nuevo

[Serializable] 
public class MethodConnectionTracking: OnExceptionAspect 
{ 
public override void OnException(MethodExecutionArgs args)   
{    
Exception e = args.Exception;  
} 
} 

se puede ver exactamente qué aquí: http://programmersunlimited.wordpress.com/2011/08/01/postsharp-why-are-my-arguments-null/

+0

Gracias! ¡Muy simple! –

Cuestiones relacionadas