我通过AllowStateMachine = true属性在OnMethodBoundary方面基类上看到了PostSharp has now introduced support for async methods。
我有两个相关的问题:
可以在OnExceptionAspect上设置此属性,还是应该更改我的方面以扩展OnMethodBoundaryAspect?
OnExceptionAspect和OnMethodBoundaryAspect有什么区别?我应该只使用OnMethodBoundary吗?
答案 0 :(得分:2)
状态机目前仅受OnMethodBoundaryAspect支持,因此您需要从该类派生。
OnExceptionAspect会更方便。您可以在OnExceptionAspect.GetExceptionType()方法或OnExceptionAspectConfiguration.ExceptionType属性中指定要捕获的异常类型。
OnMethodBoundaryAspect允许您挂钩其他方法边界,例如进入和退出,但它总是捕获catch块中的基类Exception
类型。