public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseServiceProviderFactory(new AutofacServiceProviderFactory()) // 启用Autofac
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup();
});
}
3、Startup.cs 新增Autofac并初始化容器
// 一、autofac 新增
public ILifetimeScope AutofacContainer { get; private set; }
////// 二、将内容直接注册到AutofacContainerBuilder中 /// /// public void ConfigureContainer(ContainerBuilder builder) { }
// 三、autofac 新增 可选 AutofacContainer = app.ApplicationServices.GetAutofacRoot(); IoCContainer.InitContainer(AutofacContainer);4、新建Autofac IOC 容器类
///5、新建读取配置文件工具类/// Autofac IOC 容器 /// public class IoCContainer { private static ILifetimeScope _container; ////// 初始化容器 /// /// ///public static void InitContainer(ILifetimeScope autofacContainer) { _container = autofacContainer; } /// /// 从容器中获取对象 Resolve an instance of the default requested type from the container /// ///类型 ///public static T Resolve () { return _container.Resolve (); } }
///6、新建控制器,使用!读取配置的另一种方式来啦!/// 配置文件读取操作 /// public class Configs { private static readonly IConfiguration configuration; static Configs() { configuration = IoCContainer.Resolve(); } /// /// 根据Key获取数配置内容 /// /// ///public static IConfigurationSection GetSection(string key) { return configuration.GetSection(key); } /// /// 根据section和key获取配置内容 /// /// /// ///public static string GetConfigurationValue(string section, string key) { return GetSection(section)?[key]; } /// /// 根据Key获取数据库连接字符串 /// /// ///public static string GetConnectionString(string key) { return configuration.GetConnectionString(key); } }
[ApiController]
[Route("[controller]")]
public class TestController : ControllerBase
{
///
/// 读取内容
///
[HttpGet, HttpPost]
public void GetContent()
{
var url = Configs.GetSection("Setting:Url").Value; // http://localhost:8080/
var name = Configs.GetConfigurationValue("Setting", "Name"); // localhost
}
}
以上就是.net core AutoFac的简单学习使用 + 读取配置文件的新方式的介绍,做此记录,如有帮助,欢迎点赞关注收藏!



