AspectPriority的用法

时间:2011-11-02 12:50:51

标签: c# .net postsharp aop

我正在使用PostSharp 2.1.5.1并在今天发出警告:

  

Aspect依赖项(定义于   将禁用“MyNamespace.MyAspect.MyVerificationAttribute”)   未来版本中的简化版。使用AspectPriority   财产而不是。

我觉得以下行引起了警告:

[AspectRoleDependency(AspectDependencyAction.Order, AspectDependencyPosition.After, StandardRoles.Tracing)]

有人能指出我如何使用AspectPriority的正确示例吗?以下示例是最新的吗?

感谢。

1 个答案:

答案 0 :(得分:4)

正确的用法是AttributePriority。较低的值是较高的优先级,或首先应用的方面。

[Trace(AttributePriority = 2)]
[HandleError(AttributePriority = 1)]
public void MyMethod()
{

}

Aspect Priority暂时无效。 AspectDependencyAction确定两个方面之间的“优先级”。这意味着,如果Aspect1依赖于Aspect2,则AspectDependencyAction.Order = After,然后在应用Aspect2之后应用Aspect1。但这不是你想要的(我想)。只需使用AttributePriority。