2013-03-21 4 views
2

Я хочу иметь перехватчики, выполняемые в определенном порядке, и я привязать их к классу, используя InterceptorAttribute таким образом:Замок Виндзорские перехватчики - заказ?

[Interceptor(typeof(type1))] 
[Interceptor(typeof(type2))] 
[Interceptor(typeof(type3))] 
public class SomeClass {} 

Но, к сожалению, это выглядит как вместо запуска type1 перехватчик, затем TYPE2 и Type3, замок запускает их в другом порядке. Как я могу заставить конкретный заказ? Является ли это возможным?

[обновление]

Я попытался с помощью файла конфигурации - это, кажется, работает, но я бы предпочел атрибут, кажется, гораздо проще.

+0

Вместо использования перехвата попробуйте применить декораторы. – Steven

ответ

1

Перехватчики, применяемые через атрибут, упорядочены недетерминированным образом.

Рекомендуемый способ: use the registration API.

+0

Я думаю, вы правы, так что отметьте в качестве ответа, но это немного разочаровывает ... :( – Klotin

+0

@Klotin Вы можете заставить его работать с атрибутами, с пользовательским атрибутом и реализацией 'IContributeComponentModelConstruction'. –

Смежные вопросы