需要架构解决方案 - Ninject 拦截仅适用于内核中的 类

Need architectural solution - Ninject Interception only works on classes in the kernel

我正在 asp.net mvc 应用程序中工作,该应用程序使用 Ninject 进行 DI。在这篇由两部分组成的文章之后,我一直在尝试实现 Ninject 日志记录拦截。 http://codepyre.com/2010/03/using-ninject-extensions-interception-part-1-the-basics/。我已经尝试了方法注册和属性方法,但这两种方法都不能让我拦截 classes 上未在内核中注册的方法。

问题是我的是一个多租户系统,我经常需要根据登录的客户端执行不同的具体操作。我使用工厂模式执行正确的功能来给我正确的 class 根据需要为每个客户。但是,Factory 提供的 classes 不在内核中,因此无法被拦截。

我正在寻找此问题的任何解决方案,包括在必要时进行架构返工,以便我可以使所有内容都可拦截。

您可能正在寻找的是面向方面编程 (AOP) 库。

看这道题:What Aspect-Oriented Programming (AOP) libraries for .NET are still actively developed?