ASP.NET MVC IOC 之AutoFac】的更多相关文章

ASP.NET MVC IOC 之AutoFac攻略 一.为什么使用AutoFac? 之前介绍了Unity和Ninject两个IOC容器,但是发现园子里用AutoFac的貌似更为普遍,于是捯饬了两天,发现这个东东确实是个高大上的IOC容器~ Autofac是.NET领域最为流行的IOC框架之一,传说是速度最快的一个: 优点: 它是C#语言联系很紧密,也就是说C#里的很多编程方式都可以为Autofac使用,例如可以用Lambda表达式注册组件 较低的学习曲线,学习它非常的简单,只要你理解了IoC和…
本文转自:http://www.cnblogs.com/WeiGe/p/3871451.html 一.为什么使用AutoFac? 之前介绍了Unity和Ninject两个IOC容器,但是发现园子里用AutoFac的貌似更为普遍,于是捯饬了两天,发现这个东东确实是个高大上的IOC容器~ Autofac是.NET领域最为流行的IOC框架之一,传说是速度最快的一个: 优点: 它是C#语言联系很紧密,也就是说C#里的很多编程方式都可以为Autofac使用,例如可以用Lambda表达式注册组件 较低的学习…
一.为什么使用AutoFac? 之前介绍了Unity和Ninject两个IOC容器,但是发现园子里用AutoFac的貌似更为普遍,于是捯饬了两天,发现这个东东确实是个高大上的IOC容器~ Autofac是.NET领域最为流行的IOC框架之一,传说是速度最快的一个: 优点: 它是C#语言联系很紧密,也就是说C#里的很多编程方式都可以为Autofac使用,例如可以用Lambda表达式注册组件 较低的学习曲线,学习它非常的简单,只要你理解了IoC和DI的概念以及在何时需要使用它们 XML配置支持 自动…
本系列主要讲述Autofac在.NET MVC项目以及webform中的使用. autofac为IOC组件,实现控制反转,主要结合面向接口编程,完成较大程度的解耦工作. 作为初学者,将学习到的每一步,比较详细.清晰的呈现给大家,方便新人较快理解以及使用. 使用IOC,必须面向接口编程,所谓的接口编程,即程序中依赖于抽象,而不依赖于实现. 需要所有的业务逻辑尽量编写在服务层中,控制器层等不直接调用数据库上下文对象,如此,在一定程度上将各个操作层面区分开,更好的达到解耦的目的. 约定:控制器中不再调…
新建一个MVC项目,如 AutoFacTest,引用autofac,如下图: 接下来就是开始进行编程了 首先,新建一个类库,名为 AutoFacTest.Service,该类库编写服务层代码,我们的接口和实现就都放在服务层 新建一个IStudentService.cs 接口,具体代码如下: namespace AutoFacTest.Service { public interface IStudentService { int GetStudentAge(string name); } } 接…
在webform中应用autofac,只有global中的写法不一样,其他使用方式都一样 nuget上引用: global中的写法: private void AutoFacRegister() { var builder = new ContainerBuilder(); //注册MVC控制器(注册所有到控制器,控制器注入,就是需要在控制器的构造函数中接收对象) // builder.RegisterControllers(typeof(MvcApplication).Assembly); /…
在上一章节,我们已经知道了再控制器中如何注入以及使用了.这一章,我们重点讲解下,如何在服务层中使用. 我们新定义一个教师类,在服务层中,通过这个教师类服务层,获取学生的年龄.实现在教师类的服务层中调用了学生类的服务接口对象. 新建一个教师类接口:ITeacherService.cs namespace AutoFacTest.Service { public interface ITeacherService { int GetStudentAge(string name); } } 接着定义一…
上一章主要介绍了Autofac在MVC当中的具体应用,本章将继续简单的介绍下Autofac在普通的WebForm当中的使用. PS:目前本人还不知道WebForm页面的构造函数要如何注入,以下在WebForm页面将主要采用属性注入的方式. 接下来我们正式进入主题,在上一章的基础上我们再添加一个web项目TianYa.DotNetShare.WebDemo,首先看我们的解决方案 本demo的web项目为ASP.NET Web 应用程序(.NET Framework 4.5) 空Web窗体,需要引用…
经过上篇蜻蜓点水的介绍后,本篇通过实例快速上手autofac,展示当asp.net mvc引入了autofac之后会带来什么. 创建Asp.net MVC并引入Autofac 首先,创建一个MVC站点,为方便起见,选初始带HomeController和AccountController的那种.然后通过NuGet或到Autofac官网下载来引入类库.个人推荐前者,因为从VS2010开始,已内集可视化的NuGet功能,使用起来非常方便.如下图所示: 这是vs2012的界面,点击“Manage NuG…
之前的文章介绍了MVC如何通过ControllerFactory及ControllerActivator创建Controller,而Controller又是如何通过ControllerBase这个模板完成了功能的拓展及业务的执行.这一系列MVC类型的设计处处都体现了IoC的设计原则,所以本章将从以下几点对ASP.NET MVC中的IoC进行介绍: ● 什么是IoC ● ASP.NET MVC中的IoC ● 什么是DI ● IoC容器与依赖解析器(Dependency Resolver) ● AS…
创建Asp.net MVC并引入Autofac 首先,创建一个MVC站点,为方便起见,选初始带HomeController和AccountController的那种.然后通过NuGet或到Autofac官网下载来引入类库.个人推荐前者,因为从VS2010开始,已内集可视化的NuGet功能,使用起来非常方便.如下图所示: 这是vs2012的界面,点击“Manage NuGet Packages…”,弹出窗体如下,在右上角搜索框中输入“Autofac”,找到对应的库点击安装即可.这里需要应用的库有两…
ASP.NET MVC IOC 之Ninject攻略 一.为什么要使用Ninject? 很多其它类型的IOC容器过于依赖配置文件,老是配置,总感觉有点不爽,而且要使用assembly-qualified名称(也就是类型的全名)来进行定义,稍不注意就会因为打错字而令整个程序崩掉.Ninject是一个快如闪电.超轻量级的基于.Net平台的IOC容器,主要用来解决程序中模块的耦合问题,它的目的在于做到最少配置.因此如果你不喜欢配置,不喜欢重量级IOC框架,那么就用小苹果Ninject吧! 二.Ninj…
ASP.NET MVC IOC之Unity攻略 一.你知道IOC与DI吗? 1.IOC(Inversion of Control )——控制反转 即依赖对象不在被依赖模块的类中直接通过new来获取 先看看下面这段代码的问题~ public class SqlServerDal { public void Delete() { Console.WriteLine("删除表中某个订单信息!"); } } public class Order { private readonly SqlSe…
上一篇文章主要以文字的形式介绍了IoC及其在ASP.NET MVC中的使用,本章将从以下几点介绍如何使用代码在ASP.NET MVC中实现依赖注入: ● AutoFac及安装 ● 容器的创建 ● 创建基于AutoFac的DependencyResolver ● 创建基于AutoFac的ControllerFactory AutoFac及安装 Autofac是一个基于.Net的IoC容器,它用来管理类与类之间的依赖.Autofac提供了多种方法来将一个类型注册到容器中,也提供了构造注入.属性注入和…
MVC Autofac总是会紧跟最新版本的ASP.NET MVC框架,所以文档也会一直保持更新.一般来讲,不同版本的框架集成Autofac的方法一般不变. MVC集成需要引用 Autofac.Mvc5 NuGet包. MVC 集成库提供对控制器(Controller).模型绑定器(model binders).行为筛选器(action filters)和视图(views)的依赖注入. 它也添了对 每次请求生命周期(per-request lifetime)的支持. Quick Start 快速开…
话不多说,直入主题看我们的解决方案结构: 分别对上面的工程进行简单的说明: 1.TianYa.DotNetShare.Model:为demo的实体层 2.TianYa.DotNetShare.Repository:为demo的仓储层即数据访问层 3.TianYa.DotNetShare.Service:为demo的服务层即业务逻辑层 4.TianYa.DotNetShare.MvcDemo:为demo的web层项目,MVC框架 约定:本demo的web项目为ASP.NET Web 应用程序(.N…
前言 最近看了一些关于Ioc方面的开源项目,里面的类跳来转去,看的迷迷糊糊的.项目里根本不需要这么“复杂的”设计,只需简单完成Ico,达到解耦的目的,并且能高效的完成项目.于是参考autofac的官网及网络资源,写了这篇文章. 入门的坑 在网上很多关于mvc使用autofac的文章,在global.cs中大多都会有这么一句代码: builder.RegisterControllers 一开始,自己仅是通过nuget引用了autofac,所以怎么也敲不出这个.因此,新入门的小伙半一定要同时引入这两…
Autofac为IOC组件,实现控制反转,主要结合面向接口编程,完成较大程度的解耦工作. 使用IOC,必须面向接口编程,所谓的面向接口编程,即程序中依赖于抽象,而不依赖于具体实现. 需要所有的业务逻辑尽量编写在服务层中,控制器层等不直接调用数据库上下文对象,如此,在一定程度上将各个操作层面区分开,更好的达到解耦的目的. 约定:控制器中不再调用数据库上下文对象,只在服务层中的具体实现调用. Autofac的生命周期可参考博文:https://blog.csdn.net/linshichen/art…
项目使用的MVC4,.net 4.5 Nuget安装最新的autofac,一直提示不支持.net 4.5.没办法了,最后用Nuget控制台安装的老版本.因为我使用的是MVC4,所以直接安装的是autofac mvc4的集成. 命令: Install-Package Autofac.Mvc4 安装成功. 示例如下: var builder = new ContainerBuilder(); builder.RegisterControllers(typeof(MvcApplication).Ass…
使用Nuget添加Autofac.MVC的引用 启动项设置 注册Controller 注册ModelBinder 注册相关的web abstraction 为View层启用属性注入 为Action Filter启用属性注入 使用Nuget添加Autofac.MVC的引用 启动项设置 protected void Application_Start() { AreaRegistration.RegisterAllAreas(); RouteConfig.RegisterRoutes(RouteTa…
学习了Spring.NET+NHibernate的框架,觉得Spring.NET框架不够轻量,配置来配置去的比较头疼,所以把Spring.NET换成了Autofac框架,同时加入WCF框架整了一个组合. 本来想把NHibernate换成EF的,因为现在普通用的.net 4.0,但是.net 4.0里的EF对Oracle支持没那么好,.net4.5有了oracle新的驱动就挺好用了. 一点点心得,NHibernate也是刚熟悉,给像我一样的新手参考,一起学习,有什么不够合理的地方还请多多指教. 数…
1.nuget安装依赖…
IOC的一个重点是在程序运行中,动态的向某个对象提供它所需要的其他对象.这一点是通过DI来实现的.Autofac则是比较流行的一款IOC容器. IoC和DI有什么关系呢?其实它们是同一个概念的不同角度描述. 一.IOC IOC—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想,一种面向对象编程法则,目的是程序解耦. 谁控制谁,控制什么? 传统程序设计,我们直接通过new object()创建对象,是程序主动去创建依赖对象:而IoC是有专门一个容器来创建这些…
1.1 控制反转 在面向对象设计的软件系统中,它的底层都是由N个对象构成的,各个对象之间通过相互合作,最终实现系统的业务逻辑.同时,对象之间的耦合关系是无法避免的,也是必要的,这是协同工作的基础.但是,伴随着工业级应用的规模越来越庞大,对象之间的依赖关系也越来越复杂,经常会出现对象之间的多重依赖性关系,因此,架构师和设计师对于系统的分析和设计,将面临更大的挑战.对象之间耦合度过高的系统,必然会出现牵一发而动全身的情形. 耦合关系不仅会出现在对象与对象之间,也会出现在软件系统的各模块之间,以及软件…
ASP.NET MVC Boilerplate简介 ASP.NET MVC Boilerplate是专业的ASP.NET MVC模版用来创建安全.快速.强壮和适应性强的Web应用或站点.它在微软默认MVC模版之上提供了要求最少的代码实现. 使用此模版的主要好处: 安全 性能 搜索引擎优化 (SEO) 可访问性 浏览器兼容 弹性和错误处理 简单调试和性能测试工具 设计模式和最佳实践 搜索 ASP.NET MVC Boilerplate 技术路线图 为什么需要ASP.NET MVC Boilerpl…
本文转自:http://www.cnblogs.com/hkncd/archive/2012/11/21/2780041.html Ioc容器Autofac系列(1)-- 初窥   前言 第一次接触Autofac是因为CMS系统--Orchard,后来在一个开源爬虫系统--NCrawler中也碰到过,随着深入了解,我越发觉得Ioc容器是Web开发中必不可少的利器.那么,Ioc容器是用来做什么的?用了有什么好处?我相信如果不明白这两点就很难敞开心扉接受Ioc容器. 传统解耦设计的弊端 为方便描述,…
Autofac结合EF在MVC中的使用,上一篇IoC容器Autofac(4) - Autofact + Asp.net MVC + EF Code First(附源码)已经介绍了.但是只是MVC中Controller实现了依赖注入.而在Filter中如何实现依赖的注入? 下面我们以Filter中如何实现ILogger(一个记录日志的接口)为例子,看看如何实现依赖ILogger的注入的. 1. 非Global Filter中的注入 首先Filter的注入不同于Controller, Control…
转载地址:http://www.cnblogs.com/JustRun1983/archive/2013/03/28/2981645.html  有修改 Autofac通过Controller默认构造函数实现依赖注入原理: 我们知道,MVC处理一个请求时,首先从请求的URL中解析出对应Route然后根据Route去找到对应的Controller和Action,然后执行Action方法返回请求结果.Controller的实例化是由一个叫DefaultControllerFactor的类去完成的,而…
这几天研究了解发现AutoFac是个牛X的IOC容器,是.NET领域比较流行的IOC框架之一,传说是速度最快的,~ 据相关资料,相关学习,和认知,遂做了一些整理 优点: 它是C#语言联系很紧密,也就是说C#里的很多编程方式都可以为Autofac使用,例如可以用Lambda表达式注册组件较低的学习曲线,学习它非常的简单,只要你理解了IoC和DI的概念以及在何时需要使用它们XML配置支持自动装配与Asp.Net MVC 集成微软的Orchad开源程序使用的就是Autofac,从该源码可以看出它的方便…
ADO.NET   一.ADO.NET概要 ADO.NET是.NET框架中的重要组件,主要用于完成C#应用程序访问数据库 二.ADO.NET的组成 ①System.Data  → DataTable,DataSet,DataRow,DataColumn,DataRelation,Constraint,DataColumnMapping,DataTableMapping ②System.Data.Coummon     → 各种数据访问类的基类和接口 ③System.Data.SqlClient …