当前位置 > 首页 > Asp.net

ASP.NET MVC的Razor引擎:IoC在View激活过程中的应用

2012-9-6 8:43:00来源:Asp.net

在《ASP.NET MVC的Razor引擎:RazorView》介绍BuildManagerCompiledView的时候,我们谈到默认使用的ViewPageActivator使用当前注册的DependencyResolver来完成对目标View的激活,这意味着我们可以通过注册自定义DependencyResolver的方式实现基于IoC的View激活。本篇文章中我们将演示如何通过自定义View的方式实现与IoC框架Ninject的集成。[本文已经同步到《How ASP.NET MVC Works?》中]

我们定义了一个具有如下定义的NinjectDependencyResolver,它具有一个IKernel类型的只读属性Kernel,该属性在构造函数中被初始化为一个StandardKernel对象。对于实现的GetService和GetServices方法,我们直接调用Kernel的TryGet和GetAll返回指定类型的实例和实例列表。为了方便进行类型映射,我们定义了泛型的Register<TFrom,TTo>方法。

   1: public class NinjectDependencyResolver : IDependencyResolver
   2: {
   3:     public IKernel Kernel { get; private set; }
   4:     public NinjectDependencyResolver()
   5:     {
   6:         this.Kernel = new StandardKernel();
   7:     }
   8:     public void Register<TFrom, TTo>() where TTo: TFrom
   9:     {
  10:         this.Kernel.Bind<TFrom>().To<TTo>();
  11:     }
  12:     public object GetService(Type serviceType)

  • .NET与SAP的来往

    2011-10-31 21:35:00

    这些天要做一个小项目——用Windows服务调用SAP接口获取数据。网上百度之,确定了方案——用SAP .NET Connector 3.0来与SAP

  • 开发分布式WebIm--1(设想)

    2009-11-19 17:36:00

    阅读: 520 评论: 2 作者: 遛扬狗 发表于 2009-11-19 14:36 原文链接 开发一个手机IM系统的想法有很久了,最先我定位于基于xmpp协议的实现方式,为此我安装了Op

  • DotNetNuke 4.5.4 Released!

    2007-7-23 23:06:00

    Over the weekend (I missed it because I was working on my car all weekend www.project240z.com ) Do

  • ASP.NET MVC and Authorization and Monkey Patching

    2009-9-6 19:15:00

    As you know that we will be including Menu in our final release , when defining the menu, it will

  • [MOSS开发]:WSS中的工作流

    2009-2-5 17:25:00

    摘要: 整理了WSS中的工作流的部分基本知识,在开发WSS工作流之前这是非常重要的基本知识。知道WSS工作流是什么,能做什么才好在项目中应用它。 阅读全文 ------------------

  • Charla en la Comunidad de Desarrolladores de .NET de Guatemala

    2009-2-4 21:09:00

    Tema: Its Not Rocket Science ... Its Analysis and Design Resumen: Como devs muchas vece

  • Asp.net mvc-数据调用示例

    2010-10-19 22:46:00

    Asp.net mvc-数据调用示例 (1)首先我们创建一个mvc项目,当然最好是mvc1.0版本以上。 (2)我这个小Demo,没有重新配置路由解析,使用的是mvc项目默认的路由解

  • ASP.NET统计图表控件

    2009-11-27 14:01:00

    阅读: 611 评论: 5 作者: virus 发表于 2009-11-27 12:03 原文链接   近来客户需要将前段时间开发的统计信息用图表展示出来,还要多个图表类型,例如:

  • 使用 .NET4 中的Task优化线程池【.NET4 多核并行】

    2011-3-22 11:40:00

    阅读本篇前,读者需对.NET4 System.Threading.Tasks 以及 Task Schedulers 有一定的了解。如果不是很了解,请查阅以下相关信息: Task: http:

  • 徐小平:不做人生规划,你离挨饿只有三天 —— 靠自己的劳动赢得生存就是成功【强烈推荐】

    2009-2-5 1:12:00

    摘要: 朋友你好,既然你已经被标题所吸引,并为此而来!那么我在此给你提个小小的要求,拍砖头或干嘛干嘛的是读完后的事,但是一定要沉住气读完! 难以找到工作的青年,一般有三种情况:一是缺少求职技巧的人;