-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Igor Polyakov edited this page Mar 19, 2018
·
14 revisions
Это основная страница документации с общими словами по библиотеке. Для получения детальной информации по конкретной функциональности - посмотрите оглавление справа. Ответ на вопрос "Зачем эта библиотека нужна?" находится в README. Пример работы с библиотекой представлен в тестовом проекте.
- Установите основной пакет библиотеки;
- Установите один из вспомогательных пакетов для интеграции со сторонними DI фрейморками (Castle, Simple Injector);
- Сконфигурируйте библиотеку, например как в тестовом примере;
- Напишите свои аспекты и примените их на интерфейсы компонентов.
- Проверьте корректность работы аспекта, установив точку останова в тело обработчика (совета) созданного аспекта. Подробнее о том, в какой момент вызовется тот или иной обработчик можно узнать тут.
- Аспект уровня интерфейса и методов интерфейса для внедрения советов в точках после и перед фактическим выполнением метода (
MethodBoundaryAspect
); - Аспект уровня методов интерфейса для перехвата вызова метода объекта (
MethodInterceptionAspect
); - Интеграция c фреймворком SimpleInjector;
- Интеграция с фреймворком CastleWindsor;
- Внедрение зависимостей в аспекты;
- Возможность использования нескольких аспектах на методах;
- Возможность задания приоритетов аспектам;
- Возможность гибкого управления пайплайном вызова внутри аспекта;
- Возможность передавать состояние внутри аспекта;
- Поддержка API NET Standard 2.0
- Корректная обработка асинхронных методов и методов возвращающих awaitable типы (
Task
,ValueTask
);
- Внедрение аспектов в классы, свойства, конструкторы, события и прочее.