代码之家  ›  专栏  ›  技术社区  ›  alexl

quartz.net+nhibernate+windsor.castle+commonservicelocator

  •  2
  • alexl  · 技术社区  · 15 年前

    我有一个基于 sharp-architecture 框架。它实际上使用NHibernate作为DAL,我在(视图控制器)和DAL之间添加了一个服务层。

    我实际上需要实现一个调度程序来频繁地运行我的作业。我会用 石英网 去完成那个任务。实际上我面临着一个问题。因为我会有很多工作在不同的时间表上运行,比如每30秒,每天,每周。

    我想知道有没有跑步的方法 NHiBiNATE Quartz内部有服务注入,如果它支持作业并发,我的意思是如果运行两个作业 同时地 如果NHiberiate没有问题。我知道NHibernate和 多线程 .

    我发现了一个Quartz.net for Spring的实现( http://www.zorched.net/2009/03/07/using-quartznet-springnet-and-nhibernate-to-run-scheduled-tasks-in-aspnet/ )以及温莎城堡的一个实现( http://bugsquash.blogspot.com/2009/03/windsor-facility-for-quartznet.html )

    问题是,我认为这个例子没有考虑到工作可以同时运行的情况,这是一个不健康的问题。我想用 公共服务定位器 更高层次,不局限于一个 国际奥委会 框架。

    解决这个问题的最佳方法是什么?

    谢谢你的帮助

    2 回复  |  直到 13 年前
        1
  •  3
  •   Mauricio Scheffer    15 年前

    使用 NHibernate facility 然后注入 ISessionManager 在你 IJob 这应该给你每个线程一个会话,你应该没有问题。