Asp.net mvc 如何在n层ASP.NETMVC应用程序中配置Unity
我在弄清楚如何在我的n层ASP.NETMVC应用程序中配置UnityIOC容器时遇到了一个小问题 我的解决方案中有3个项目: 1.MVC(用作视图):仅引用业务逻辑层 2.业务逻辑层:仅引用存储库项目 3.回复:未提及上述任何项目 请注意我的参考工作方式,我已经这样做了,因此我将能够使用WCF替换我的层之间的通信,难度更小 我在MVC应用程序中配置了一个Unity容器,如下所示(Global.asax): container.RegisterType()//MyService位于我的业务逻辑层中 MyService类在其构造函数中使用my repository,这意味着当创建其中一个MyService类时,还需要MyRepository: 公共MyService(IRepository存储库):基础(存储库) {} 正如您所看到的,我仍然没有在容器中配置IRepository 我不想在我的Global.asax中这样做,因为我不想将任何存储库引用添加到MVC(视图)层 在哪里配置此项的最佳位置?我有点困惑Asp.net mvc 如何在n层ASP.NETMVC应用程序中配置Unity,asp.net-mvc,ioc-container,Asp.net Mvc,Ioc Container,我在弄清楚如何在我的n层ASP.NETMVC应用程序中配置UnityIOC容器时遇到了一个小问题 我的解决方案中有3个项目: 1.MVC(用作视图):仅引用业务逻辑层 2.业务逻辑层:仅引用存储库项目 3.回复:未提及上述任何项目 请注意我的参考工作方式,我已经这样做了,因此我将能够使用WCF替换我的层之间的通信,难度更小 我在MVC应用程序中配置了一个Unity容器,如下所示(Global.asax): container.RegisterType()//MyService位于我的业务逻辑层中
提前谢谢。你试过了吗:让我告诉你到目前为止我做了什么: 稍后,我在我的服务和存储库中创建了一个静态类,我在我的视图层(MVC)中创建了Unity容器,并将其传递给这些静态类,它们用它们需要的内容以及下一层填充容器,例如,服务层也在我的存储库中调用静态类 通过这种方式,我可以使用所需的一切配置容器
问题是:如果我们使用统一,这是一件好事吗。我们可以在中间层实现统一容器的扩展,并在下面的表示层中登记。
//Data Layer dependency mapping as extension eg : IUnitOfWork
container.AddNewExtension<DependencyInjectionExtension>();
//数据层依赖关系映射作为扩展,例如:IUnitOfWork
container.AddNewExtension();
更多详情请参考文章
谢谢Lee,MVCUnity看起来不错,但我不太明白这将如何解决我的问题?我的MVC应用程序中没有对存储库的任何程序集引用。