У меня есть веб-приложение, основанное на структуре 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.
Как лучше всего решить эту проблему?
Спасибо за вашу помощь