你的位置:首页 > ASP.net教程

[ASP.net教程]autofac JSON文件配置

AutoFac 依赖注入之XML/JSON配置文件 - 点点滴滴 - CSDN博客

 AutoFac提供编程接口以及基于XML/JSON文件的配置支持,实现IOC。Autofac鼓励通过ContainerBuilder类进行编程配置。使用编程接口是容器设计的核心。 ...

autofac v4.0+通过配置文件的方式注册组件 - 葛亮 - 博客园

在研究的过程中,我发现大神用autofac是通过配置文件的方式.Autofac.Configuration的...FileConfigurationSource AzureKeyVaultConfigurationSource ...

Autofac官方文档(十八)【JSON/XML 配置】 - 极客神殿 - CSDN博客

大多数IoC容器提供编程接口以及基于JSON/XML文件的配置支持,Autofac也不例外。Autofac鼓励通过ContainerBuilder类进行编程配置。使用编程接口是容器设...

Autofac 居于json配置的谁用过?-CSDN论坛

无法加载相应的应用程序集项目结构如下所示:我使用的是配置文件进行相关的注册 Startup.cs文件改为:Autofac配置文件autofac.jsonAPI.Services、AP...

autofac使用JSON配置注册问题-CSDN论坛

6条回复nbsp;-nbsp;发帖时间:nbsp;2017年3月5日多层架构, 我写了一个控制台程序做测试, 引用了逻辑层之后, 用JSON配置的方式...官方文档:docs.autofac.org/en/latest/register/registration...

通过配置的方式Autofac 《第三篇》 - Just_Do - 博客园

官方推荐使用单独json或xml文件配置docs.autofac.org/en/latest/configuration/xml.html#quick-startJSON格式{ quot;defaultAssemblyquot;: quot;Autofac.Example.Calculator...

Autofac官方文档(十七)【配置】 - 极客神殿 - CSDN博客

将Autofac集成到您的应用程序的基本模式是: 记住控制反转(IoC)的结构。 添加Autofac... AutoFac提供编程接口以及基于XML/JSON文件的配置支持,实现IOC...

Autofac官方文档_Autofac官方文档(十八)【JSON/XML 配置】 - 阿里云

大多数IoC容器提供编程接口以及基于JSON/XML文件的配置支持,Autofac也不例外。Autofac鼓励通过ContainerBuilder类进行编程配置。使用编程接口是容器设...

Autofac.configuration配置文件的形式使用 Autofac - s..._CSDN博客

AutoFac 依赖注入之XML/JSON配置文件  AutoFac提供编程接口以及基于XML/JSON文件的配置支持,实现IOC。Autofac鼓励通过ContainerBuilder类进行编程配...

AutoFac 依赖注入之XML/JSON配置文件 - 点点滴滴 - CSDN博客

AutoFac提供编程接口以及基于XML/JSON文件的配置支持,实现IOC。Autofac鼓励通过ContainerBuilder类进行编程配置。使用编程接口是容器设计的核心。 如...

. core web api + Autofac + EFCore 个人实践 - KING_..._博客园

红色部分便是Autofac的配置文件,具体内容如下: { quot;modulesquot;: [ { quot;typequot;: ...起初,我是没有添加这个特性的,因为根据旧版本的经验,前端设置Content-type为json...

欢迎来到 Autofac 中文文档! — Autofac 4.0 文档

欢迎来到 Autofac 中文文档!Autofac 是一款适用于Microsoft . 4.5, Silverlight...配置 JSON/XML 配置 使用Microsoft Configuration 配置(4.0+) 使用应用配置(传统...

IOC接口注入之Autofac - Json1204的专栏 - CSDN博客

IOC接口注入之Autofac2012年07月06日 16:06:39 json1204 阅读数:5879 ...IoC容器Autofac使用入门(三) WuLex 08-13 3831 通过配置文件实现对象的创...

Autofac的高级使用——Autofac.2.6.3.862 - 天涯人 - CSDN博客

大多数IoC容器提供编程接口以及基于JSON/XML文件的配置支持,Autofac也不例外。Autofac鼓励通过ContainerBuilder类进行编程配置。使用编程接口是容器设...

依赖注入框架Autofac的简单使用 - CSDN博客

Autofac是一款IOC框架,比较于其他的IOC框架,如Spring.,Unity,Castle等等所包含...AutoFac 依赖注入之XML/JSON配置文件 gaozhigang 276次阅读 06-12...

Guavo - 专注于.技术的个人博客

Autofac是一款. framework下的IOC框架,开发人员可以通过简单的代码就可以控制反转...本文介绍怎么读取asp. core中appsettings.json文件中的配置。 阅读全文 ASP...

【.码农】【MVC】Ioc容器Autofac系列(3)-- 三种注册..._CSDN博客

简单来说,所谓注册组件,就是注册类并映射为接口,然后根据接口获取对应类,Autofac...大多数IoC容器提供编程接口以及基于JSON/XML文件的配置支持,Autofac也不例外。Autof...

ioc容器之autofac - Hangfire项目实践分享 - Ecin - 博客园

IOC容器之AutofacHangfire对于每一个任务(Job)假如都写在一个类里,然后使用Back...Json配置文件如下:[{ quot;job-namequot;: quot;Long Running Jobquot;, quot;job-typequot;: quot;...中秋去哪里好玩 小长假五彩视觉之旅不可辜负游客满意度民营景区异军突起首届“鲘门海鲜美食节” 时间地点活动详情广西北海至香港直飞航班复航首航成功香港昂坪360—大澳旅游美景图乘客就飞机上抽烟事件将起诉中联航(图)北京出发去巴林旅游 北京出发去巴林旅游 北京出发去巴林旅游 北京出发去巴林旅游 北京出发去巴林旅游 北京出发去巴林旅游 北京出发去巴拿马旅游 北京出发去巴拿马旅游 北京出发去巴拿马旅游 北京出发去巴拿马旅游 北京出发去巴拿马旅游 北京出发去巴拿马旅游 北京出发去巴西旅游 北京出发去巴西旅游 北京出发去巴西旅游 北京出发去巴西旅游 北京出发去巴西旅游 北京出发去巴西旅游 北京出发去芭堤雅月光岛旅游 北京出发去芭堤雅月光岛旅游 北京出发去芭堤雅月光岛旅游 北京出发去芭堤雅月光岛旅游 北京出发去芭堤雅月光岛旅游 北京出发去芭堤雅月光岛旅游

 

autofac是比较简单易用的IOC容器。下面我们展示如何通过json配置文件,来进行控制反转。

需要用到以下程序集。可以通过nugget分别安装

Microsoft.Extensions.Configuration.dll

Microsoft.Extensions.Configuration.Json

 Autofac.Configuration.dll

 

注意,项目目标框架最好设置为.NET Framework 4.6.1及以上。因为Microsoft.Extensions.Configuration.dll,依赖.NETStandard2.0 

 下表列出了 .NET Standard 的所有版本及其支持的平台

 

AutofacExt帮助类

using Autofac;using Autofac.Configuration;using Microsoft.Extensions.Configuration;namespace autofacConsole{ public static class AutofacExt {  private static IContainer _container;  public static void InitAutofac()  {   // Add the configuration to the ConfigurationBuilder.   var config = new ConfigurationBuilder();   config.AddJsonFile("autofac.json");   // Register the ConfigurationModule with Autofac.   var module = new ConfigurationModule(config.Build());   var builder = new ContainerBuilder();   builder.RegisterModule(module);   // Set the dependency resolver to be Autofac.   _container = builder.Build();  }  /// <summary>  /// 从容器中获取对象  /// </summary>  /// <typeparam name="T"></typeparam>  public static T GetFromFac<T>()  {   return _container.Resolve<T>();   // return (T)DependencyResolver.Current.GetService(typeof(T));  }  public static T GetFromFac<T>(string name)  {   return _container.ResolveNamed<T>(name);  } }}

 客户端调用

public interface IOutput {  void Write(string content); }
public class ConsoleOutput : IOutput { public void Write(string content) { Console.WriteLine(content); } }class Program { static void Main(string[] args) { AutofacExt.InitAutofac(); var writer =AutofacExt.GetFromFac<IOutput>(); writer.WriteDate(); Console.ReadKey(); } }

 

 json配置文件配置

Autofac.json 

{ "defaultAssembly": "autofacConsole", "components": [ {  "type": "autofacConsole.ConsoleOutput, autofacConsole",  "services": [  {   "type": "autofacConsole.IOutput,autofacConsole"  }  ],  "instanceScope": "single-instance",  "injectProperties": true } ]}

设置为如果较新则复制

 

参考资料:

https://github.com/autofac/Autofac

https://autofac.readthedocs.io/en/latest/getting-started/index.html

https://autofac.readthedocs.io/en/latest/configuration/