MVC Controller构造器注入
UnityDependencyResolver 的标准写法
public class UnityDependencyResolver : IDependencyResolver
{ private readonly IUnityContainer _unityContainer; public UnityDependencyResolver(IUnityContainer unityContainer) { _unityContainer = unityContainer; } public object GetService(Type serviceType) { return (serviceType.IsClass && !serviceType.IsAbstract) || _unityContainer.IsRegistered(serviceType) ? _unityContainer.Resolve(serviceType) : null; } public IEnumerable GetServices(Type serviceType) { return (serviceType.IsClass && !serviceType.IsAbstract) || _unityContainer.IsRegistered(serviceType) ? _unityContainer.ResolveAll(serviceType) : new object[] {}; }}IUnityContainer container = new UnityContainer();
container.RegisterType<IServiceA, ServiceA>();
container.RegisterType<IServiceB, ServiceB>();
container.RegisterType<IViewPageActivator, ViewPageActivator>();
DependencyResolver.SetResolver(new UnityDependencyResolver(container));
MVC Controllerl里的定义(构造器函数注入实现)
public class HomeController : Controller
{
protected IServiceA _serviceA;
protected IServiceB _serviceB;
public HomeController(IServiceA serviceA, IServiceB serviceB)
{
_serviceA = serviceA;
_serviceB = serviceB;
}
public ActionResult Index()
{
ViewBag.A = _serviceA.Say();
ViewBag.B = _serviceB.Write();
return View();
}
}
MVC Controller构造器注入的更多相关文章
- Mvc Autofac构造器注入
新建MVC项目,添加程序集引用 定义接口ILog public interface ILog { string Save(string message); } 类TxtLog实现接口ILog publ ...
- 在Spring MVC Controller中注入HttpServletRequest对象会不会造成线程安全的问题
做法: 1.比如我们在Controller的方法中,通常是直接将HttpServletRequest做为参数,而为了方便节省代码,通常会定义为全局变量,然后使用@Autowire注入. 说明: 1.观 ...
- C# Ioc 接口注册实例以及注入MVC Controller
当弄一个小程序时,就忽略了使用Ioc这种手段,作为一个帅气程序员,代码规范,你懂的~,废话不多说,快速搭建一个Ioc接口实例以及直接注入到 MVC Controller 构造函数中如下: MVC in ...
- 【转】Asp.net MVC 通过自定义ControllerFactory实现构造器注入(重写DefaultControllerFactory)
[转]Asp.net MVC 通过自定义ControllerFactory实现构造器注入 一.重写ControllerFactory的GetControllerInstance ControllerF ...
- 深入分析MVC中通过IOC实现Controller依赖注入的原理
这几天利用空闲时间,我将ASP.NET反编译后的源代码并结合园子里几位大侠的写的文章认真的看了一遍,收获颇丰,同时也摘要了一些学习内容,存入了该篇文章:<ASP.NET运行机制图解>,在对 ...
- Asp.net MVC 通过自定义ControllerFactory实现构造器注入
一.重写ControllerFactory的GetControllerInstance ControllerFactory是asp.net中用于在运行时构造Controller的工厂 ,默认使用的工厂 ...
- MVC Castle依赖注入实现代码
1.MVc 实现依赖注入 public class WindsorControllerFactory : DefaultControllerFactory { private readonly IKe ...
- MVC Controller Dependency Injection for Beginners【翻译】
在codeproject看到一篇文章,群里的一个朋友要帮忙我翻译一下顺便贴出来,这篇文章适合新手,也算是对MEF的一个简单用法的介绍. Introduction In a simple stateme ...
- [ASP.NET MVC] 利用动态注入HTML的方式来设计复杂页面
原文:[ASP.NET MVC] 利用动态注入HTML的方式来设计复杂页面 随着最终用户对用户体验需求的不断提高,实际上我们很多情况下已经在按照桌面应用的标准来设计Web应用,甚至很多Web页面本身就 ...
随机推荐
- 从PHP5到PHP7的注意事项——PHP7全面删除Mysql扩展支持
PHP删除了一些函数,其中是吓人的是两个: 1. ereg_* 系列的正则函数 2. mysql_* 系列的数据库连接函数 PHP7全面删除Mysql扩展支持,原本的mysql_*系列函数将在mysq ...
- 图论trainning-part-1 H. Qin Shi Huang's National Road System
H. Qin Shi Huang's National Road System Time Limit: 1000ms Memory Limit: 32768KB 64-bit integer IO f ...
- POJ 2359 Questions
Questions Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 1228 Accepted: 449 Descript ...
- 2.ruby基本语法,类的定义
1.在ruby中的定义class,ruby中定义类也是以关键字class开头 后面带着类名,类名以大写开头.一个类的结束以关键字end 结束.如: class Customer end 2.ruby类 ...
- 刷题总结——支线剧情(bzoj3876费用流)
题目: [故事背景] 宅男JYY非常喜欢玩RPG游戏,比如仙剑,轩辕剑等等.不过JYY喜欢的并不是战斗场景,而是类似电视剧一般的充满恩怨情仇的剧情.这些游戏往往 都有很多的支线剧情,现在JYY想花费最 ...
- K-lord #3 (组合数学)
题目描述 如图,设一个圆分成 n 个扇形 S1 ... ,Sn (扇形大小不一样),现用 k 种不同的颜色对这 n 个扇形进行染色 ( n>=3 , k>=3 ); 每一个扇形染一种颜色, ...
- 【译】NCCloud: Applying Network Coding for the Storage Repair in a Cloud-of-Clouds
NCCloud:多云存储设备下存储修复的网络编码 Yuchong Hu, Henry C. H. Chen, Patrick P. C. Lee, Yang Tang 摘要:近年来的研究提出通过条带 ...
- C 语言中的 fgets()
转自:http://blog.csdn.net/daiyutage/article/details/8540932 原型: char * fgets(char * s, int n,FILE *st ...
- HTML中字体单位px pt em之间的转换
在实现打印功能时,遇到一个问题,使用px作为单位在不同的机器或者打印机上打印出的字体大小不一样,所以经过查询,发现使用pt为单位能够进行物流适配,下面是各单位之间的转换: 定义字体大小有常见三种单位, ...
- AC日记——砝码称重 洛谷 P2347
题目描述 设有1g.2g.3g.5g.10g.20g的砝码各若干枚(其总重<=1000), 输入输出格式 输入格式: 输入方式:a1 a2 a3 a4 a5 a6 (表示1g砝码有a1个,2g砝 ...