微软unity 注入mvc

首先获取开源unity ,引用

新建UnityDependencyResolver 继承IDependencyResolver,代码如下:

 public class UnityDependencyResolver : IDependencyResolver
    {
        IUnityContainer container;

        public UnityDependencyResolver(IUnityContainer container)
        {
            this.container = container;
        }
        public object GetService(Type serviceType)
        {

            try
            {
                return container.Resolve(serviceType);
            }
            catch (Exception)
            {
                return null;
            }

        }

        public IEnumerable<object> GetServices(Type serviceType)
        {
            return container.ResolveAll(serviceType);
        }
    }

写一个注册类

 public class Bootstrapper
    {

        private static IUnityContainer container;
        /// <summary>
        /// 初始化IOC
        /// </summary>
        public static void Init()
        {
            //container = BuildUnityContainer();
            container = new UnityContainer();
            RegisterDependency();
            DependencyResolver.SetResolver(new UnityDependencyResolver(container));
        }

        /// <summary>
        /// 所有的注册
        /// </summary>
        private static void RegisterDependency()
        {
            container.RegisterType<IDoctorTeamType, DoctorTeamType>();
        }
    }

放到启动类 中执行Bootstrapper.Init();就可以了

时间: 2025-01-05 05:54:21

微软unity 注入mvc的相关文章

DI 依赖注入之unity(mvc)

DI 依赖注入之unity(mvc) 一.nuget下载安装: 使用Nuget安装Unity.MVC 安装完成后会在~/App_Start/目录下自动生成UnityMvcActivator.cs和UnityConfig.cs文件 二.配置: 打开UnityConfig文件,修改RegisterTypes()方法的代码 public static void RegisterTypes(IUnityContainer container) { // NOTE: To load from web.co

DI 依赖注入之unity的MVC版本使用Microsoft.Practices.Unity1.2与2.0版本对比

DI 依赖注入之unity的MVC版本使用Microsoft.Practices.Unity1.2与2.0版本对比 参考:https://www.cnblogs.com/xishuai/p/3670292.html 参考:https://docs.microsoft.com/en-us/previous-versions/msp-n-p/ff660914(v=pandp.20)?redirectedfrom=MSDN#config_registerelement 必读: 在unity1.2中我们

构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(64)-WebApi与Unity注入

前言: 有时候我们系统需要开放数据给手机App端或其他移动设备,不得不说Asp.net WebApi是目前首选 本节记录Asp.net MVC WebApi怎么利用Unity注入.系列开头已经讲解了普通的Asp.net MVC如何用Unity注入容器 不明白什么是IOC,DI,控制反转的自行百度补脑,否则无法阅读本文 其实这也是一次技术上的记录,因为找遍大百度居然没有可以用的利用Unity注入的WebApi!感谢随风朋友的提醒.才能完成本节的指导 为了更好的理解,请下载代码 示例代码下载   h

对Unity注入技术最简单的理解和应用

Unity注入技术,我决定最大的作用在于一个项目,尤其是WEB项目在更远其中一个类时,不需要重新生成,直接通过WEBCONFIG文件的修改就可以更改对应关系和功能,实验步骤如下: 1:新建一个接口ISpeak 2 : 新建两个类分别是speak1和speak2,都实现ISpeak 3:在webconfig的<configSections>中添加:<section name="unity" type="Microsoft.Practices.Unity.Con

微软依赖注入Unity

Unity是一个依赖注入(Dependency Injection,DI)容器.DI的标准描述文章来自Martin Flower[0].作为一个快速的摘要,依赖注入容器就是一个用于构建高度松耦合的软件的工具.依赖注入容器处理相互关 联对象的所有细节,因此你可以构建一个独立的组件 关于依赖注入这是百科的解释:http://baike.baidu.com/view/1800021.htm 这是unity的地址:http://unity.codeplex.com/ 下载最新的是2.1版本,http:/

使用Unity在MVC上实现动态注入

一.前言 通过前一篇的文章介绍使用unity轻量级的依赖注入容器,本文就介绍在MVC上使用unity依赖注入控制器和控制器中的日志属性. 实现MVC中新提供 的两个接口:IDependencyResolver和  IControllerActivator 二.代码实现 自定义创建CustomControllerActivator类实现IControllerActivator接口的方法 public class CustomControllerActivator : IControllerActi

Unity的MVC架构

M层: Model类 所有poco对象存取 需要存取的数据均设计为POCO 可扩展为本地和网络两种模式 基于Json格式 V层: 每个场景的SceneManager 包括动态生成prefab GameObject和包括ui层UIManager.动画.声效等在内的展示层 C层: GameManager控制下的behavour脚本 执行游戏逻辑 主要由Unity引擎完成 其中C层与M和V交互 MV之间不可见

unity 使用MVC模式

这两天看了下老大的项目,他基本都是用MVC模式,写的很好,在此把我理解的记录下来 Model:实体对象(对应数据库记录的类) View:视图 presenter(controller):业务处理 view中有present对象,present中有model和view对象 view中UI的交互会调用present相应处理的方法(该方法处理完后会调用view显示处理后的视图(将改变后的model对象传递过去),view显示就会改变显示的内容) 结构是下面这样子的: IPresenter: names

Unity容器在asp.net mvc中的IOC应用及AOP应用

<asp.net-mvc框架揭秘>一书中,有个示例,是使用unity容器来注入自定义的控制器工厂.代码示例可以自己去下载源码,在这里我就不说了.IOC容器的本质是解耦的实例化接口类,而如何做到解耦就是通过第三方容器来实例化,在这里是unity容器,而不是在项目中实例化接口类.实例化的方法无非就是反射,Emit,表达式树,委托等四个方法.Unity容器的IOC使用主要是三个个方法:Register,Resolver,Dispose.前者注册接口和接口类,后者将接口类的实例化转移到第三方容器中实现