1
응용 프로그램에 동적 모듈이 몇 개 있습니다. 각각의 설정이 있습니다. 모듈이 시작되기 전에 각 모듈에 대한 설정을 등록하고 싶습니다. InstancePerMatchingLifetimeScope 메서드를 찾았지만 어떻게 작동하는지 알 수 없습니다. 그것이 작동해야하는 아이디어가Autofac InstancePerMatchingLifetimeScope
using System;
using Autofac;
public class Program
{
public static void Main()
{
var builder = new ContainerBuilder();
builder.RegisterType<Settings1>().InstancePerMatchingLifetimeScope("1").As<ISettings>();
builder.RegisterType<Settings2>().InstancePerMatchingLifetimeScope("2").As<ISettings>();
var container = builder.Build();
using (var lifetimeScope = container.BeginLifetimeScope("1"))
{
lifetimeScope.Resolve<ISettings>().Run();
}
using (var lifetimeScope = container.BeginLifetimeScope("2"))
{
container.Resolve<ISettings>().Run();
}
}
}
public interface ILog
{
void Run();
}
public interface ISettings
{
void Run();
}
public class Log : ILog
{
public void Run()
{
Console.WriteLine("Log");
}
}
public class Settings1 : ISettings
{
public void Run()
{
Console.WriteLine("Settings1");
}
}
public class Settings2 : ISettings
{
public void Run()
{
Console.WriteLine("Settings2");
}
}
예 https://dotnetfiddle.net/cEw90l
누군가?