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