Model view controller IRepository、iSeries、ASP.NET MVC应用程序中的Unity、参考问题
我不熟悉团结,但这个问题对国际奥委会来说更为普遍,我对国际奥委会的整体实施也相当陌生。我有此项目结构的VS2010解决方案(稍微简化):Model view controller IRepository、iSeries、ASP.NET MVC应用程序中的Unity、参考问题,model-view-controller,repository,unity-container,facade,Model View Controller,Repository,Unity Container,Facade,我不熟悉团结,但这个问题对国际奥委会来说更为普遍,我对国际奥委会的整体实施也相当陌生。我有此项目结构的VS2010解决方案(稍微简化): 业务对象–文件夹 DomainModel(类库prj.)–实体框架2 POCO实体 数据层-文件夹 数据访问(类库prj.)–EF2 EDMX 存储库(类库prj.)–IRepository接口和存储库的具体实现 表示层–文件夹 WebUI–MVC项目 服务层 服务(类库prj.)–iSeries设备接口和服务(façade模式)的具体实现
- 业务对象–文件夹
- DomainModel(类库prj.)–实体框架2 POCO实体
- 数据层-文件夹
- 数据访问(类库prj.)–EF2 EDMX
- 存储库(类库prj.)–IRepository接口和存储库的具体实现
- 表示层–文件夹
- WebUI–MVC项目
- 服务层
- 服务(类库prj.)–iSeries设备接口和服务(façade模式)的具体实现
任何指导都将不胜感激,特别是如何为服务层/存储库配置Unity,以及项目的一般情况。在服务项目中添加某种引导程序。然后在WebUI中引用引导程序 一种方法是编写一个小型的Unity扩展。大概是这样的:
public class ServiceLayerBootstrap : UnityContainerExtension
{
protected override void Initialize()
{
Container.RegisterType<IRepository, WhateverRepositoryImplementation>();
// etc.
}
}
公共类服务LayerBotstrap:UnityContainerExtension
{
受保护的覆盖无效初始化()
{
Container.RegisterType();
//等等。
}
}
然后,在创建并初始化容器的web项目中,执行以下操作:
var container = new UnityContainer()
.AddNewExtension<ServiceLayerBootstrap>();
var container=newunitycontainer()
.AddNewExtension();
谢谢,这正是我想要的。