Net Core:从Autofac模块访问appsettings.json值

Fra*_*k59 5 dependency-injection autofac .net-core autofac-module

AspNet核心应用

1)像这样的Autofac模块

public class AutofacModule : Module
{
    protected override void Load(ContainerBuilder builder)
    {
      //Register my components. Need to access to appsettings.json values from here
    }
}
Run Code Online (Sandbox Code Playgroud)

2)步骤1中的模块已注册到 Startup.cs

public void ConfigureContainer(ContainerBuilder builder)
    {
       builder.RegisterModule(new AutofacModule());
    }
Run Code Online (Sandbox Code Playgroud)

如何从中访问appsettings.jsonAutofacModule?我需要在内部创建对象AutofacModule并将其用于DI。

Fra*_*k59 6

需要更改步骤\xe2\x84\x962

\n\n
        public void ConfigureContainer(ContainerBuilder builder)\n    {\n        //get settigns as object from config\n        var someSettings= Configuration.GetSection(typeof(SomeSettings).Name).Get<SomeSettings>();                                                    \n        //put settings into module constructor \n        builder.RegisterModule(new AutofacModule(someSettings));\n    }\n
Run Code Online (Sandbox Code Playgroud)\n\n

我不知道这是否是“最佳实践”方式,但它确实有效。

\n