我一直试图在我的dependency injection
核心控制台应用中使用.net
并使用appsettings.json file
。
但是我找不到两个例子。
以下是我必须在Main()
private static IContainer SetupDependencyInjection()
{
var builder2 = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json");
var builder = new ContainerBuilder();
builder.RegisterAssemblyTypes(
typeof(Program).GetTypeInfo().Assembly // Console
)
.AsSelf()
.AsImplementedInterfaces();
var container = builder.Build();
return container;
}
你可以看到我有构建配置文件的builder2变量但是我需要构建器变量用于依赖注入。
有关于此的任何想法吗?
答案 0 :(得分:2)
Autofac 提供ConfigurationModule
课程,可以使用Iconfiguration
ConfigurationBuilder
进行构建
// 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);
// configure whatever you want at runtime the ContainerBuilder
builder.RegisterType<Foo>().As<IFoo>();
// build the container
IContainer container = builder.Build();
在这种情况下,您将在 autofac.json 文件中配置两个注册,并在您的代码中配置注册。