ASP.NET MVC3使用Unity2.0实现依赖注入
2011-07-25 22:19
621 查看
创建空的ASP.NETMVC3项目,添加对Unity2.0动态库的引用。方法1:在MSDN上下载Untity2.0,安装后,默认安装在C:\ProgramFiles\MicrosoftUnityApplicationBlock2.0下。Microsoft.Practices.ServiceLocation.dllMicrosoft.Practices.Unity.Configuration.dllMicrosoft.Practices.Unity.dllMicrosoft.Practices.Unity.Interception.Configuration.dllMicrosoft.Practices.Unity.Interception.dll要在上面新创建的ASP.NETMVC3项目中使用Unity依赖注入容器,需要在项目中添加一个类,它实现IDependencyResolver的接口,调用具体的Unity依赖注入容器。代码如下:publicclassUnityDependencyResolver:IDependencyResolver{readonlyIUnityContainer_container;publicUnityDependencyResolver(IUnityContainercontainer){this._container=container;}publicobjectGetService(TypeserviceType){try{return_container.Resolve(serviceType);}catch{returnnull;}}publicIEnumerable<object>GetServices(TypeserviceType){try{return_container.ResolveAll(serviceType);}catch{returnnewList<object>();}}}代码下载
方法2:使用PackageManagerConsole
工具—LibraryPackageManage—PackageManagerConsole,执行下面的命令:在Global.asax.cs中,创建Unity依赖注入容器,在Application_Start方法中,使用前面创建的UnityDependencyResolver类注册Unity容器作为ASP.NETMVC的ServiceLocator。
代码如下: protectedvoidApplication_Start() { AreaRegistration.RegisterAllAreas(); RegisterGlobalFilters(GlobalFilters.Filters); RegisterRoutes(RouteTable.Routes); varcontainer=newUnityContainer(); container.RegisterType<IMessages,Messages>(); DependencyResolver.SetResolver(newUnityDependencyResolver(container)); }
同时容器使用RegisterType注册了类型,在本例中注册了类型IMessage以及具体实现Messages
增加HomeController.cs,代码如下:
代码如下:publicclassHomeController:Controller{privatereadonlyIMessagesmessages;publicHomeController(IMessagesmessages){this.messages=messages;}publicActionResultIndex(){ViewBag.Message=messages.Welcome();returnView();}}
增加接口IMessges和具体实现类Messages,代码如下:
代码如下:publicinterfaceIMessages{stringWelcome();}publicclassMessages:IMessages{publicstringWelcome(){return"欢迎在ASP.NETMVC3中使用Unity2.0";}}运行应用程序,Unity依赖注入容器会解析在HomeControler定义的依赖,Index页面显示"欢迎在ASP.NETMVC3中使用Unity2.0"
相关文章推荐
- ASP.NET MVC3使用Unity2.0实现依赖注入(转载和扩展)
- 【ASP.Net MVC3 】使用Unity 实现依赖注入
- ASP.Net MVC3 使用Unity实现依赖注入介绍
- 【ASP.Net MVC3 】使用Unity 实现依赖注入
- 【ASP.Net MVC3 】使用Unity 实现依赖注入
- 【ASP.Net MVC3 】使用Unity 实现依赖注入
- .NET 使用unity实现依赖注入
- ASP.Net MVC5 使用Unity 实现依赖注入
- .NET中使用Unity和StructureMap来实现依赖注入Dependency Injection
- 使用Unity 实现依赖注入
- 使用Unity 实现依赖注入
- IOC使用Unity 实现依赖注入
- WCF Rest Service使用Unity实现依赖注入
- MVC3使用Unity实现依赖注入接口与于实现类自动注册
- ADO.NET .net core2.0添加json文件并转化成类注入控制器使用 简单了解 iTextSharp实现HTML to PDF ASP.NET MVC 中 Autofac依赖注入DI 控制反转IOC 了解一下 C# AutoMapper 了解一下
- 使用Unity 实现依赖注入
- 使用Unity 实现ASP.NET Web API 依赖注入
- .NET 使用unity实现依赖注入
- 使用spring的aop实现拦截action后出现依赖注入为空的问题
- 使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【四】——实现模型工厂,依赖注入以及格式配置