Обработчики контента, разрешенные Autofac, возвращаются в непредсказуемом порядке. Мне нужно, чтобы некоторые обработчики содержимого вызывались в определенном порядке.Orchard CMS - Как указать порядок вызовов обработчиков содержимого?
Пример:
оснащены
Содержимое обработчика А -> назначает/удаляет роль X из элемента контента пользователя
Feature B
Content обработчика B -> оценивает назначенные роли и когда роль X находится в ней и предпринимает дальнейшие действия
Как вы видите, в моем случае нет смысла вызывать обработчик B до A, поскольку роль X должна обновляться в A до того, как B может даже выполнить дальнейшие действия на основе назначения роли X.
В настоящее время Autofac решает обработчик в упорядочении следующего
..., A, B, ...
но обработчики хранятся в списке обработчиков в следующем порядке
... B, A, ...
Затем Orchard вызывает обработчики как
Handlers.Invoke(handler => ..., Logger);
, который, очевидно, вызывает обработчики в порядке
... B, A, ...
Есть ли что-нибудь, что я могу сделать для обеспечения определенного заказа?
Вот обсуждение в Google группах о подобной проблеме:
https://groups.google.com/forum/#!topic/autofac/HE66utFpvkg