我正在构建一组类库,这些库可以生成基于xml的Office开放式报告,而我正在使用静态Windsor IoC容器。
我的问题是,报告系统的一个可能入口点是通过Web前端,这意味着报告系统静态IoC容器正在多个Web请求之间共享,这导致报告系统正在尝试的每个新请求出现异常重新注册Windsor中已经由先前请求注册的组件。
我不想将注册转移到网络应用程序global.asax,因为我的报告系统将不再是独立的。
如何在我的报告类之间共享Windsor IoC容器,但不能在多个Web请求之间共享?
答案 0 :(得分:2)
不要一遍又一遍地重新创建容器。在全局起点,根据您的应用程序创建和设置一次。您仍然可以通过在installers中封装所有注册来使您的组件自包含。然后在global.asax中你只会安装相当容易的安装程序,而在即将推出的Windsor 2.5中它只需要2行代码。
答案 1 :(得分:1)