c#温莎城堡与ASP.Net Web表单-如何解析业务类库

本文关键字:表单 何解析 类库 业务 Web Net 城堡 ASP | 更新日期: 2023-09-27 18:16:26

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

我正在全局初始化温莎容器。asax Application_Start方法。我真的只希望容器在Business Class库中使用。类库不知道web应用程序。这是一个不同的项目。

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

c#温莎城堡与ASP.Net Web表单-如何解析业务类库

我不认为你应该在你的bl中使用DI容器,这就是DI的全部意义。对象组合可以通过多种方式完成,这是在应用程序的组合根中决定的。你的成分根不在你的提单上,因此提单上不应该有温莎城堡的参考。您的组合根(对象实际组合的地方,依赖关系实际解决的地方)是您的web应用程序项目。在那里,你应该决定如何组成你的对象图:使用Windsor,另一个容器或穷人的DI。

同样,在web表单应用程序中创建组合根有点棘手。你可以在Mark Seemann的《。net中的依赖注入》(p224-p230)中了解更多信息