传递依赖¶
在应用中,您希望使用不同的类来处理不同的任务以保持代码的简洁。我们把这些类称为 依赖。如何将这些依赖关系传递给将在后台任务调用的方法呢?
然而,所有这些模式使您的应用程序的单元可测试性方面变得非常复杂。为了解决这个问题,Hangfire允许你在后台任务调用实例方法。想象你有以下的类使用 DbContext
的某种方式去连接数据库,并且使用 发送邮件。
为了在后台任务中调用 Send
方法,使用以下的方法重写 方法 ( BackgroundJob
类的其他方法也提供此类重载):
如果您希望类可以进行单元测试,请考虑重载构造函数,因为 默认的 Activator 无法创建一个没有默认构造函数的类的实例 :
如果您使用IoC容器,例如Autofac,Ninject,SimpleInjector等,可以删除默认构造函数。要了解更多,请继续下一节。