C# Windsor CaSTLe with ASP.Net Web forms - 如何解析业务类库

标签 c# asp.net castle-windsor ioc-container

我开始使用温莎城堡 IoC 容器。 Web 应用程序是 ASP.Net Web 表单,并且有一个我正在尝试向其添加 DI 的业务对象类库。

我正在 Global.asax Application_Start 方法中初始化 Windsor 容器。我真的只希望容器在业务类库中使用。类库不知道 Web 应用程序。它在不同的项目中。

在这种情况下,初始化和解析对象的首选方法是什么?

最佳答案

我认为您不应该在 BL 中使用 DI 容器。这就是 DI 的重点。对象组合可以通过多种方式完成,这在应用程序的组合根中确定。您的组合根目录不在您的 BL 中,因此 BL 不应提及 CaSTLe Windsor。你的组合根(对象实际组合的地方,依赖关系实际解决的地方)是你的 web 应用程序项目。在那里你应该决定如何组成你的对象图:使用 Windsor、另一个容器或穷人的 DI。

另外,在 Web 表单应用程序中创建组合根有点棘手。您可以在 Mark Seemann p224-p230 的“.net 中的依赖注入(inject)”中阅读更多相关信息

关于C# Windsor CaSTLe with ASP.Net Web forms - 如何解析业务类库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25146780/

相关文章:

c# - 如何在 ListView 中使用模板(asp.net、c#)

c# - WPF双向数据绑定(bind)列表框在WPF中建模无法获取选定值

c# - 将 ListItems 从一个列表框复制到另一个列表框

.net - 关于 asp.net 中的 $ 字符

wcf - 我是否需要 svc 文件来为非 HTTP 服务设置 CaSTLe Wcf 设施

c# - 数据库上没有事务的 SQL 错误 "uncommittable transaction is detected at the end of batch"

c# - 不同类型的只读属性

asp.net - 使复选框看起来像按钮

wcf - WCF/CaSTLe 内存泄漏

c# - 依赖注入(inject)和内部辅助类