我似乎無法找到任何有關此信息,希望有人可以提供幫助。使用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中,這對於命名的單例也是不可能的。
對此有何建議?我猜測命名的單身人士可能是死路一條?