Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
Igor Polyakov edited this page Mar 19, 2018 · 14 revisions

Введение

Это основная страница документации с общими словами по библиотеке. Для получения детальной информации по конкретной функциональности - посмотрите оглавление справа. Ответ на вопрос "Зачем эта библиотека нужна?" находится в README. Пример работы с библиотекой представлен в тестовом проекте.

Быстрый старт

  1. Установите основной пакет библиотеки;
  2. Установите один из вспомогательных пакетов для интеграции со сторонними DI фрейморками (Castle, Simple Injector);
  3. Сконфигурируйте библиотеку, например как в тестовом примере;
  4. Напишите свои аспекты и примените их на интерфейсы компонентов.
  5. Проверьте корректность работы аспекта, установив точку останова в тело обработчика (совета) созданного аспекта. Подробнее о том, в какой момент вызовется тот или иной обработчик можно узнать тут.

Что реализовано

  • Аспект уровня интерфейса и методов интерфейса для внедрения советов в точках после и перед фактическим выполнением метода (MethodBoundaryAspect);
  • Аспект уровня методов интерфейса для перехвата вызова метода объекта (MethodInterceptionAspect);
  • Интеграция c фреймворком SimpleInjector;
  • Интеграция с фреймворком CastleWindsor;
  • Внедрение зависимостей в аспекты;
  • Возможность использования нескольких аспектах на методах;
  • Возможность задания приоритетов аспектам;
  • Возможность гибкого управления пайплайном вызова внутри аспекта;
  • Возможность передавать состояние внутри аспекта;
  • Поддержка API NET Standard 2.0

Что ещё не реализовано

  • Корректная обработка асинхронных методов и методов возвращающих awaitable типы (Task, ValueTask);

Что реализовано не будет

  • Внедрение аспектов в классы, свойства, конструкторы, события и прочее.

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /