AttributePriority

Technical questions about PostSharp Laos.

AttributePriority

Postby peterdownes on Fri May 09, 2008 3:51 am

Can someone please advise me of what I am doing wrong. I have 2 OnMethodBoundaryAspect attributes; DatabaseInitializeAttribute and SQLScriptAttribute.

[Serializable]
public class DatabaseInitializeAttribute : OnMethodBoundaryAspect
{
}

[Serializable]
public class SQLScriptAttribute: OnMethodBoundaryAspect
{
}

In the assembly comsuming these attributes they are defined as follows:

[ClassInitialize()]
[DatabaseInitialize("MaxUtility", AttributePriority = 1)]
[SQLScript("MaxUtility", PreScript = @"UserModule.Scripts.CreateSuperUser.sql", AttributePriority = 2)]
public static void MyClassInitialize(TestContext testContext)
{
}

However my SQLScript is running before my DatabaseInitialize. Am I missing something?

Regards,

Peter D.
peterdownes
 
Posts: 2
Joined: Fri May 09, 2008 3:37 am
First Name: Peter
Last Name: Downes

Re: AttributePriority

Postby gfraiteur on Fri May 09, 2008 9:13 am

Peter,

There is a difference between AttributePriority and AspectPriority. What you are looking for is AspectPriority.

AttributePriority influences the order in which custom attributes are evaluated, because the multicasting process of MulticastAttributes is order-sensitive.

AspectPriority determines the order on aspect on a same method or field. It influences directly how the MSIL code is emitted.

Gael
Gael Fraiteur, project leader
gfraiteur
Site Admin
 
Posts: 839
Joined: Tue Dec 18, 2007 3:09 pm
First Name: Gael
Last Name: Fraiteur
Company: postsharp.org

Re: AttributePriority

Postby peterdownes on Fri May 09, 2008 9:23 am

Fantastic! Appreciate the quick response.

PS, Great Product.

Regards,

Peter D.
peterdownes
 
Posts: 2
Joined: Fri May 09, 2008 3:37 am
First Name: Peter
Last Name: Downes


Return to PostSharp Laos


cron