我有 ASP.NET MVC 3.0 应用程序,数据层使用 EF Code First。我已经实现了一个工作单元模式,我在 HttpContext.Current.Items[SomeKey] 集合上绑定了工作单元的上下文。工作单元在控制器上的 OnActionExecuting/Executed 事件中创建和提交。我正在使用温莎城堡实例化存储库。
现在我需要使用 Quartz.net 在我的应用程序中定期运行作业,这项作业也需要使用很少的存储库。问题是,在 SchedulerJob 实现中,没有 HttpContext 可用(确实)。在这种情况下,如何从 Quartz.net Job 实例化存储库(将 UnitOfWorkFactory 作为构造函数参数)?如何替换缺少的 HttpContext?我可能需要实现另一个 UnitOfWorkFactory,但我不确定我可以在哪里绑定我的上下文以及如何为 Quartz.net 线程注册不同的工厂。你能告诉我一个方法或模式吗?谢谢你。