我在Hangfire.Pro
中使用.Net Core 2.0
来执行后台计划作业。我在调用实例方法之前使用JobActivator
类来实例化目标类型。我使用了MongoDB
存储实现,如下所示。
var options = new BackgroundJobServerOptions
{
ServerName = "Test Server",
SchedulePollingInterval = TimeSpan.FromSeconds(30),
Queues = new[] { "critical", "default", "low" },
Activator = new AutofacJobActivator(container),
};
var jobStorage = new MongoStorage("mongodb://localhost:2XXXX", "TEST_DB_NAME", new MongoStorageOptions()
{
QueuePollInterval = TimeSpan.FromSeconds(30)
});
我覆盖了方法BeginScope
,如下所示。
public override JobActivatorScope BeginScope(JobActivatorContext context)
{
return new AutofacScope(_UseTaggedLifetimeScope
? _LifetimeScope.BeginLifetimeScope(LifetimeScopeTag)
: _LifetimeScope.BeginLifetimeScope()); // Run time Error at this line
}
我在这个BeginScope
方法中遇到了以下错误。
System.ObjectDisposedException:'无法解析实例,并且无法从此LifetimeScope创建嵌套生命周期,因为它已经被处理掉了。'
任何人都可以提出解决此问题的建议或解决方案吗?
任何帮助都将受到高度赞赏。
谢谢