星空网 > 软件开发 > ASP.net

autofac JSON文件配置

 

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 的所有版本及其支持的平台

autofac JSON文件配置

 

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 } ]}

设置为如果较新则复制

autofac JSON文件配置

 

参考资料:

https://github.com/autofac/Autofac

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

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

 

原标题:autofac JSON文件配置

关键词:JS

JS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

社交媒体营销工具Post Planner:https://www.ikjzd.com/w/384
ICOLO:https://www.ikjzd.com/w/3840
纬狮物流:https://www.ikjzd.com/w/3841
税关 (日本):https://www.ikjzd.com/w/3842
广东小冰火人网络科技股份有限公司:https://www.ikjzd.com/w/3843
美国的销售税:https://www.ikjzd.com/w/3844
海外KOL推广:与潮流文化共舞,打造年轻态时尚品牌形象:https://www.xlkjsw.com/news/92295.html
DTC个护品牌Svish Ropes完成新一轮融资:https://www.kjdsnews.com/a/1842223.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流