Я использую NHibernate в качестве уровня доступа к данным для моего приложения ASP.NET MVC. Я также использую Карту структуры в качестве контейнера IoC. Я настроил карту Structre для создания фабрики сессий в виде одиночного и создания сессий для каждого запроса (InstanceScope.Hybrid). Я могу нормально выполнять базовые операции CRUD.
Теперь у меня есть фоновый процесс, запускаемый каждые 30 секунд, который использует несколько репозиториев (которые в свою очередь используют сеансы). И этот фоновый процесс по каким-то причинам не может подобрать новые данные. Может быть, я упускаю простую вещь. Я попробовал поискать в Google, но не смог найти ничего полезного. Это действительно помогло бы мне, если бы кто-то указал мне правильное направление.
EDIT:
Я не уверен, что у меня включен кэш второго уровня, я новичок в NHibernate, Мой файл конфигурации hibernate вставлен ниже.
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
<property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
<property name="connection.connection_string">Data Source=.\SQLEXPRESS;Initial Catalog=Map.db;Integrated Security=True</property>
<property name="show_sql">true</property>
<mapping assembly="Infrastructure"/>
</session-factory>
</hibernate-configuration>
Главное, что я хочу знать - есть ли шаблон дизайна / дизайна, который уже используется в типичных веб-приложениях, использующих NHibernate. И решит ли использование сеансов без сохранения состояния проблему, если настройки моей базы данных будут обновлены из другого приложения?