我似乎无法找到任何有关此信息,希望有人可以提供帮助。使用Autofac IoC单件共享接口的Hangfire作业
凭借一流“的TestClass”继承ITestClass我可以用下面的代码注册一个Autofac单:
builder.RegisterType<TestClass>().As<ITestClass>().SingleInstance();
添加作业,以迟发型也很简单:
RecurringJob.AddOrUpdate<ITestClass>(x => x.MethodInITestClass, Cron.MinuteInterval(1));
我不能什么似乎弄清楚是如何注册多个类作为Autofac单身人士都具有相同的接口和能够为特定的单身人士创建一个Hangfire作业。
例如,有一个名为ITest的接口和使用此接口的类TestClass1,TestClass2和TestClass3,我想为TestClass2添加一个Hangfire作业。
我想,也许命名为单身是可以很容易地创建一个解决方案:
builder.RegisterType<TestClass1>().Named<ITest>("TestClass1").SingleInstance();
builder.RegisterType<TestClass2>().Named<ITest>("TestClass2").SingleInstance();
builder.RegisterType<TestClass3>().Named<ITest>("TestClass3").SingleInstance();
然而,增加了对TestClass2一个迟发型工作似乎是不可能的迟发型只需要一个接口作为参数和接口现在都有3个相关的单身人士。
我还希望能够解决所有实现此接口的单例到一个IEnumerable中,这对于命名的单例也是不可能的。
对此有何建议?我猜测命名的单身人士可能是死路一条?