问题描述
我的石英作业如下所示
public class ExtractTradesJob: IJob
{
private ITradeExtractor _TradeExtractor;
public ExtractTradesJob(ITradeExtractor TradeExtractor)
{
_TradeExtractor = TradeExtractor;
}
public async Task GetTradesAsync(DateTime dateTime)
{
Console.WriteLine(dateTime);
}
void IJob.Execute(IJobExecutionContext context)
{
Task.Run(async () => await GetTradesAsync(DateTime.Now));
}
}
我有2个问题
- 由于我需要使用.NET 4.5,因此无法立即使用异步支持,所以我用来调用异步方法的方法正确吗?
- 好像我有一个构造函数一样,该作业不会触发。我已经检查过,并且知道ITradeExtractor服务已正确注册。那么,我该如何在其构造函数中接受服务的工作呢?如果删除构造函数,则可以正确调用我的Execute方法
我正在使用AutoFac 3.5.2和Quartz 2.6.2和AutoFac.Extras.Quartz 3.5.0
我正在使用下面的代码来设置AutoFac
public static void RegisterWithAutofac(ContainerBuilder builder)
{
builder.RegisterType<TradeExtractor>()
.As<ITradeExtractor>()
.SingleInstance();
builder.Register(x => new StdSchedulerFactory().GetScheduler()).As<IScheduler>();
}
我知道这些是旧软件包,但是由于不得不使用.NET 4.5的限制,这超出了我的控制范围
保罗
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)