PostSharp OnMethodBoundaryAspect不是线程安全的

时间:2012-08-23 01:42:40

标签: multithreading thread-safety aop postsharp

我正在尝试使用PostSharp AOP,我很惊讶OnMethodBoundaryAspect不是线程安全的。

方法调用之间共享方面的相同实例。

这使得它的实用程序在可以应用的用例数量上非常有限。

有任何方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:4)

所有OnEntry,OnExit和OnException方法都接收MethodExecutionArgs类型的参数。此参数有一个名为MethodExecutionTag的属性,此属性可用于在这些事件之间共享信息。

http://doc.sharpcrafters.com/postsharp-2.1/Default.aspx##PostSharp-2.1.chm/html/P_PostSharp_Aspects_MethodExecutionArgs_MethodExecutionTag.htm

链接http://www.sharpcrafters.com/blog/post/Stay-DRY-Webinar.aspx上的第三个问题与您的相似。