Autofac和nopcommerce中的Autofac, 还有反射

随笔分类 - Ioc

Ioc容器Autofac系列(3)-- 三种注册组件的方式

摘要: 简单来说,所谓注册组件,就是注册类并映射为接口,然后根据接口获取对应类,Autofac将被注册的类称为组件。 虽然可像上篇提到的一次性注册程序集中所有类,但AutoFac使用最多的还是单个注册。这种注册共有三种方式,其中最简单的就是用As方法,例如,ArrayList继承了IEnumerable接口,若将其注册到Autofac中,写法如下所示: ContainerBuilder b...阅读全文

posted @ 2012-12-12 03:03 许两会 阅读(4640) | 评论 (13) 编辑

Ioc容器Autofac系列(2)-- asp.net mvc中整合autofac

摘要: 经过上篇蜻蜓点水的介绍后,本篇通过实例快速上手autofac,展示当asp.net mvc引入了autofac之后会带来什么。 创建Asp.net MVC并引入Autofac 首先,创建一个MVC站点,为方便起见,选初始带HomeController和AccountController的那种。然后通过NuGet或到Autofac官网下载来引入类库。个人推荐前者,因为从VS2010开始,已内集可...阅读全文

posted @ 2012-11-28 13:54 许两会 阅读(9470) | 评论 (14) 编辑

Ioc容器Autofac系列(1)-- 初窥

摘要: 前言第一次接触Autofac是因为CMS系统--Orchard,后来在一个开源爬虫系统--NCrawler中也碰到过,随着深入了解,我越发觉得Ioc容器是Web开发中必不可少的利器。那么,Ioc容器是用来做什么的?用了有什么好处?我相信如果不明白这两点就很难敞开心扉接受Ioc容器。传统解耦设计的弊端为方便描述,举个日志的栗子。我简化实现,一个Log类,一个SaveLog方法。如果其他类想拥有记日志功能,那么只需在内部包含一个Log类型的变量:publicclassLog { publicvoid SaveLog(string message) { // save log here. } } .阅读全文

posted @ 2012-11-21 02:16 许两会 阅读(11506) | 评论 (24) 编辑

Nopcommerce中使用了一个单例类封装了autofac的注册

找到所有实现了IdependencyRegister接口的类, 然后反射得到实例, 进行动态注册

反射备忘

nop实现的Itypefinder可以找到实现某个接口的类 http://www.cnblogs.com/miku/archive/2012/09/24/2700776.html

var typesToRegister = Assembly.GetExecutingAssembly().GetTypes()
            .Where(type => !String.IsNullOrEmpty(type.Namespace))
            .Where(type => type.BaseType != null && type.BaseType.IsGenericType && type.BaseType.GetGenericTypeDefinition() == typeof(EntityTypeConfiguration<>));
            foreach (var type in typesToRegister)
            {
                dynamic configurationInstance = Activator.CreateInstance(type);
                modelBuilder.Configurations.Add(configurationInstance);
            };

找到实现了某个类的子类类型合集,

时间: 2024-10-13 02:14:58

Autofac和nopcommerce中的Autofac, 还有反射的相关文章

在asp.net mvc 中使用Autofac

据说.net 世界里,最强的依赖注入容器是Autofac .不管是谁,Nopcommerce2.8 用了它,所以就简单研究一下喽. 用vs 2012 创建一个Asp.net mvc3 的样例项目.然后使用NuGet(Vs2012 自带的有,版本低的话,似乎要安装插件),下载安装autofac的dll,如图1,2. 图1 NuGet 图2 ,load  autofac autofac 要加载两个dll哦,一个是autofac 的core ,另外一个是和asp.net mvc3集成的dll 然后,我

Asp.Net Web Forms/MVC/Console App中使用Autofac

本来简单介绍了Autofac在Asp.Net Web Forms中的应用,后来又添加了mvc.控制台应用程序中使用Autofac,详情请看源码. ASP.NET Web Forms使用Autofac,至少需要一下步骤: 1,引用Autofac程序集. 2,添加Autofac Web Modules 到 Web.config. 3,在Global.asax中实现IContainerProviderAccessor接口. 我们创建一个ASP.NET Web Forms项目,命名为WebFormStu

游刃于MVC、WCF中的Autofac

为了程序的健壮性.扩展性.可维护性,依赖抽象而不是具体实现类等等,于是我选择了Autofac依赖注入容器 就是这个工厂来降低耦合.之前买东西是自己去超市,现在呢 我需要什么东西,他们给送过来直接拿到了.  本例中将会分享 1.Autofac在Mvc的Controller控制器.Filter过滤器的使用 2.WCF中的使用 3.用Autofac来完成Unit Of Work工作单元模式 即同一个界限上下文内可以共享同一个工作单元实例.这样就可以统一提交,起到事务作用.数据统一性.一个http请求只

Asp.net mvc中整合autofac

创建Asp.net MVC并引入Autofac 首先,创建一个MVC站点,为方便起见,选初始带HomeController和AccountController的那种.然后通过NuGet或到Autofac官网下载来引入类库.个人推荐前者,因为从VS2010开始,已内集可视化的NuGet功能,使用起来非常方便.如下图所示: 这是vs2012的界面,点击“Manage NuGet Packages…”,弹出窗体如下,在右上角搜索框中输入“Autofac”,找到对应的库点击安装即可.这里需要应用的库有两

Ioc容器Autofac系列(2)-- asp.net mvc中整合autofac(转)

经过上篇蜻蜓点水的介绍后,本篇通过实例快速上手autofac,展示当asp.net mvc引入了autofac之后会带来什么. 创建Asp.net MVC并引入Autofac 首先,创建一个MVC站点,为方便起见,选初始带HomeController和AccountController的那种.然后通过NuGet或到Autofac官网下载来引入类库.个人推荐前者,因为从VS2010开始,已内集可视化的NuGet功能,使用起来非常方便.如下图所示: 这是vs2012的界面,点击"Manage NuG

Autofac - MVC/WebApi中的应用

参考页面: http://www.yuanjiaocheng.net/ASPNET-CORE/asp-net-core-overview.html http://www.yuanjiaocheng.net/ASPNET-CORE/asp.net-core-environment.html http://www.yuanjiaocheng.net/ASPNET-CORE/newproject.html http://www.yuanjiaocheng.net/webapi/web-api-gais

在后台业务管理系统中使用Autofac实现微信接口的处理

在后台业务管理系统中使用Autofac实现微信接口的处理,我们只需要把相关使用到的DLL放到BIN目录里面即可,通过IOC控制反转方式实现对接口的调用.在实现在业务系统里面,我们本身程序可能已经依赖了很多相关的DLL类库,这种可以降低对相关DLL的强依赖,而以一种松耦合的方式使用我们所需要的微信接口. 在之前随笔<C#开发微信门户及应用(42)--使用Autofac实现微信接口处理的控制反转处理>里面介绍了Autofac组件实现IOC控制反转的一些实现细节,本篇随笔介绍在业务管理系统中,我们需

ASP.NET Core Web 应用程序系列(二)- 在ASP.NET Core中使用Autofac替换自带DI进行批量依赖注入(MVC当中应用)

原文:ASP.NET Core Web 应用程序系列(二)- 在ASP.NET Core中使用Autofac替换自带DI进行批量依赖注入(MVC当中应用) 在上一章中主要和大家分享在MVC当中如何使用ASP.NET Core内置的DI进行批量依赖注入,本章将继续和大家分享在ASP.NET Core中如何使用Autofac替换自带DI进行批量依赖注入. PS:本章将主要采用构造函数注入的方式,下一章将继续分享如何使之能够同时支持属性注入的方式. 约定: 1.仓储层接口都以“I”开头,以“Repos

JAVA中的糕富帅技术——反射(一)

前言 突然发现好久没写博客了,前面写的都是关于Android的东西,今天心血来潮突然有一种冲动想写一篇基于JAVA技术的博客,别问我为什么?有钱.任性! 今天就来谈谈反射机制:学过JAVA的人不一定懂得反射,但是一定听说过反射,不过也仅仅是听说过而已:因为反射用的地方也不会那么多,但是反射用的妙经常会解决我们挠破头皮的大问题.至于诸如为什么叫做反射.而不叫做正射倒射此类的历史问题,还是交给历史学家去研究吧... 反射的基石 在谈反射之前,我们应该先了解下类的概念来引入.类是一种抽象的概念,举个例