我们目前使用 Castle Windsor 来管理 Web 应用程序中的依赖注入。DI 注册代码出现在应用程序本身中,因此每个应用程序在其 Global.asaxApplication_Start()
方法中具有大致相同的代码。我们认为这是适当的,因为每个应用程序可能需要对某些相关接口进行不同的实现。
我现在正在研究 AOP,特别是围绕授权。我们希望为类库中特定类的方法添加属性,这些属性定义是否允许用户执行该方法。AOP 听起来很好地呼吁如何实现这一点。
唯一让我不舒服的是每个 Web 应用程序都必须为自己设置拦截器。如果其中一个 Web 应用程序错误地配置了 AOP 内容,我们最终可能会遇到授权代码没有执行的不可接受的情况。
类库是否可以通过某种方式配置自己的 AOP,或者配置 AOP 的责任可以从 Web 应用程序中移除?