ASP.NET WebApi项目框架搭建(三):依赖注入之Autofac
2021-03-09 07:30
标签:ring person arp reg 利用 允许 例子 构造函数 auto 在编程中,依赖注入是一种实现控制反转且用于解决依赖性问题的设计模式。一个依赖关系指的是可被利用的一种对象 。依赖注入是将所依赖的传递给将要使用的从属对象。该服务将会变成客户端状态的一部分并传递服务给客户端,而不允许客户端来建立或寻找服务。依赖注入使我们的编程代码变得松散耦合,易于管理。 Autofac是.NET领域最为流行的IOC框架之一,传说是速度最快的一个: 优点: 1.nuget安装Autofac和Autofac.WebApi2,注意版本要求 2.新建Autofac文件夹,新建组件注册类ContainerBuilerCommon来注册组件 3.Global.asax文件加入以下代码配置autofac依赖注入 1.之前我们在autofac注册类里面注册了Person类,下面我们在person类里面写一个Say方法 2.在Index控制器中添加Person类的变量,并在构造函数中赋值: 3.新建一个get请求用来测试依赖注入,如果不适用依赖注入,我们想调用Person的say方法一般是Person p=new Person();p.Say(),有了依赖注入,我们只需要下面这样。 4.运行项目,测试接口,输出"I‘m Person Class"。可以看到,我们并没有New一个Person类,就实现了调用Person的Say方法,其实是容器帮我们new了。 上面的例子已经简单的实现了autofac的依赖注入,autofac的用法可总结为三步: var builder = new ContainerBuilder(); autofac怎么注册组件可以参考官网:https://autofaccn.readthedocs.io/zh/latest/ 3、生成依赖注入容器(如果是webapi则将容器传给webapi的DependencyResolver对象: config.DependencyResolver = new AutofacWebApiDependencyResolver(container); ASP.NET WebApi项目框架搭建(三):依赖注入之Autofac 标签:ring person arp reg 利用 允许 例子 构造函数 auto 原文地址:https://www.cnblogs.com/huguodong/p/12748845.html一、前言
二、安装配置Autofac
///
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
// 获取webapi的配置
var config = GlobalConfiguration.Configuration;
// 获取webapi的依赖注入容器
var container = ContainerBuilerCommon.GetWebApiContainer();
// 配置webapi的依赖注入
config.DependencyResolver = new AutofacWebApiDependencyResolver(container);
GlobalConfiguration.Configure(WebApiConfig.Register);
}
}
三、使用autofac实现依赖注入
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public string Sex { get; set; }
public int Age { get; set; }
public string Say()
{
return "I‘m Person Class";
}
}
protected Person _person;
public IndexController(Person person)
{
_person = person;
}
///
四、总结
文章标题:ASP.NET WebApi项目框架搭建(三):依赖注入之Autofac
文章链接:http://soscw.com/essay/62194.html