Quartz.net + NHibernate + Windsor.Castle + CommonServiceLocator - PullRequest
2 голосов
/ 11 марта 2009

У меня есть веб-приложение, основанное на фреймворке sharp-Architecture . Он фактически использует NHibernate для dal, и я добавил служебный слой между (VIEW-CONTROLLER) и DAL.

Мне действительно нужно реализовать планировщик для частого выполнения моих заданий. Я буду использовать Quartz.net для выполнения этой задачи. На самом деле я столкнулся с проблемой. Потому что у меня будет много заданий, которые будут выполняться по разному графику, например, каждые 30 секунд, каждый день, каждую неделю.

Я хочу знать, есть ли способ запустить NHibernate с внедрением службы внутри Quartz, и если он будет поддерживать одновременность заданий, я имею в виду, если два задания выполняются одновременно не будет проблем с NHibernate. Я знаю, что есть некоторые проблемы с NHibernate и многопоточность .

Я нашел реализацию Quartz.Net для Spring (http://www.zorched.net/2009/03/07/using-quartznet-springnet-and-nhibernate-to-run-scheduled-tasks-in-aspnet/) и реализацию для Castle-Windsor (http://bugsquash.blogspot.com/2009/03/windsor-facility-for-quartznet.html).

)

Проблема в том, что я думаю, что в этих примерах не учитывается случай, когда задания могут выполняться одновременно, это проблема Nhibernate. И я хочу использовать CommonServiceLocator для более высокого уровня и не ограничивать себя одним IoC каркасом.

Как лучше всего решить эту проблему?

Спасибо за вашу помощь

Ответы [ 2 ]

3 голосов
/ 12 марта 2009

Используйте средство NHibernate , затем введите ISessionManager в свои IJob с. Это должно дать вам одну ISession на поток, и у вас не должно быть проблем.

0 голосов
/ 21 ноября 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...