当应用程序退出时,如何使用PostSharp执行代码块?

时间:2010-01-22 23:03:50

标签: c# aop postsharp

目前,我正在检查OnMethodBoundaryAspect.OnExit方法中的方法名称:

[Serializable]
public class TimerAttribute : OnMethodBoundaryAspect
{
    public override void OnExit(MethodExecutionEventArgs eventArgs)
    {
        if(eventArgs.Method.DeclaringType.Name == "Program" && eventArgs.Method.Name == "Main")
            //do things
    }
}

显然,这很丑陋,感觉很笨拙。使用PostSharp检测应用程序退出是否有更强大的方法?

1 个答案:

答案 0 :(得分:2)

我认为你不应该使用PostSharp来做到这一点。

您可以使用System.AppDomain的某些功能检测应用程序域是否正在退出:

  • AppDomain.IsFinalizingForUnload()
  • AppDomain.ProcessExit
  • AppDomain.DomainUnload
相关问题