我们使用 spring.net 来管理依赖注入,但是当我们使用 hangfire 运行的方法时,依赖类为空。使用其他 IoC 容器还不是一种选择——请不要问为什么。顺便说一句,如果uploadDoc() 没有通过hangfire 运行,即在应用程序的线程中,spring.net 能够注入依赖类。
代码是这样的:
class docUpload {
IDependencyClass1 DClass1;
IDependencyClass2 DClass2;
uploadDoc() {
DClass1.doSomething(); //Dclass1 is null here
}
}
然后在spring xml中:
<object id="docUpload " type="some code here">
<property name="DClass1" ref="dClass1" />
<property name="DClass2" ref="dClass2" />
</object>
<object id="dClass1" type="some code here">
<object id="dClass2" type="some code here">
然后hangfire像这样执行线程:
hangfireclass.jobclient.enqueue(() => docUpload.uploadDoc());
任何想法为什么在hangfire线程中,spring.net的依赖注入不起作用?如果在应用程序的线程中运行,它可以工作。