Требуется архитектурное решение - Ninject Interception работает только с классами в ядре

Я работаю в приложении asp.net mvc, которое использует Ninject для DI. Я пытался реализовать Ninject Interception для ведения журнала, следуя этой статье из двух частей. http://codepyre.com/2010/03/using-ninject-extensions-interception-part-1-the-basics/. Я пробовал подходы как к регистрации метода, так и к атрибутам, но ни один из них не позволяет мне перехватывать методы классов, которые не зарегистрированы в ядре.

Проблема в том, что моя многопользовательская система, в которой мне часто приходится выполнять различные конкретные операции в зависимости от клиента, который вошел в систему. Я выполняю правильные функции, используя Factory Pattern, чтобы дать мне правильный класс для каждого клиента по мере необходимости. Однако классы, обслуживаемые Factory, не находятся в ядре и поэтому не могут быть перехвачены.

Я ищу любое решение этой проблемы, включая архитектурную переработку, если это необходимо, чтобы я мог сделать все перехватываемым.


person Danny Ellis Jr.    schedule 28.12.2016    source источник


Ответы (1)


Вероятно, вы ищете библиотеки аспектно-ориентированного программирования (АОП).

Посмотрите на этот вопрос: What Aspect- Библиотеки ориентированного программирования (АОП) для .NET все еще активно развиваются?

person jgauffin    schedule 29.12.2016