나는 이것에 대한 정보를 찾지 못해 누군가가 도울 수 있다고 생각합니다. 나는 다음과 같은 코드를 가진 Autofac 싱글을 등록 할 수 있습니다 클래스 "TestClass에"ITestClass을 상속와 인터페이스를 공유하는 Autofac IoC 싱글 톤을 사용하는 Hangfire 작업
:builder.RegisterType<TestClass>().As<ITestClass>().SingleInstance();
Hangfire에 작업을 추가 마찬가지로 간단합니다 :
RecurringJob.AddOrUpdate<ITestClass>(x => x.MethodInITestClass, Cron.MinuteInterval(1));
내가 캔트 무엇 알아낼 것 같다는 것은 여러 개의 클래스를 Autofac 싱글 톤 으로 등록하는 방법이 모두 동일 인터페이스을 가지며 특정 싱글 톤에 대해 Hangfire 작업을 생성 할 수 있다는 것입니다.
예를 들어 ITest라는 인터페이스와이 인터페이스를 사용하는 TestClass1, TestClass2 및 TestClass3 클래스를 가지고 TestClass2에 Hangfire 작업을 추가하고 싶습니다.
어쩌면라는 싱글을 쉽게 만들 수있는 해결책이 될 것이라고 생각 : Hangfire 만 인수로 인터페이스를 취하고 인터페이스가 지금 가지고 그러나
builder.RegisterType<TestClass1>().Named<ITest>("TestClass1").SingleInstance();
builder.RegisterType<TestClass2>().Named<ITest>("TestClass2").SingleInstance();
builder.RegisterType<TestClass3>().Named<ITest>("TestClass3").SingleInstance();
을 TestClass2위한 Hangfire 작업을 추가하는 것은 불가능 보인다 3 개의 관련 싱글 톤.
또한이 인터페이스를 구현하는 모든 싱글 톤을 명명 된 싱글 톤으로는 불가능한 IEnumerable로 해결할 수 있기를 바랍니다.
이것에 대한 조언이 있으십니까? 싱글 톤이라는 이름이 막 다른 골목일지도 모릅니다.