Castle Windsor - 在应用程序外设置AOP

时间:2012-05-03 14:46:27

标签: c# castle-windsor aop

我们目前使用Castle Windsor来管理Web应用程序中的依赖注入。 DI注册码发生在应用程序本身内,因此每个应用程序的Global.asax Application_Start()方法中的代码大致相同。我们认为这是合适的,因为每个应用程序可能需要对某些接口进行不同的实现。

我现在正在研究AOP,特别是围绕授权。我们希望为类库中的特定类中的方法添加属性,这些类定义是否允许用户执行该方法。对于如何实现这一点,AOP听起来很不错。

唯一让我感到不舒服的是每个Web应用程序都必须为自己设置拦截器。如果其中一个Web应用程序错误地配置了AOP,我们最终可能会遇到授权代码未执行的不可接受的情况。

类库是否可以通过某种方式配置自己的AOP,或者是否可以从Web应用程序中删除配置AOP的责任?

1 个答案:

答案 0 :(得分:1)

将此AOP初始化代码放在installerfacility中,将其放入所有Web应用程序共享的库中,然后让Web应用程序调用此安装程序,或者只是让Web应用程序扫描所有container.Install(FromAssembly.InThisApplication());

的安装程序