ASP.NET MVC アプリケーションのデータ アクセス層として NHibernate を使用しています。また、構造マップを IoC コンテナーとして使用しています。セッション ファクトリをシングルトンとして作成し、リクエストごとにセッションを作成するように Structre マップを構成しました (InstanceScope.Hybrid)。基本的な CRUD 操作は問題なく実行できます。
現在、バックグラウンド プロセスが 30 秒ごとに実行されており、いくつかのリポジトリ (セッションを使用) を使用しています。そして、このバックグラウンド プロセスは、何らかの理由で新しいデータを取得できません。多分私は簡単なことを見逃しています。私はグーグルを試しましたが、有用なものを見つけることができませんでした. 誰かが私を正しい方向に向けてくれたら、本当に助かります。
編集:
2 番目のレベルのキャッシュが有効になっているかどうかわかりません。NHibernate の初心者です。休止状態の構成ファイルを以下に貼り付けます。
<?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 を使用した典型的な Web アプリケーションで既に使用されている設計/設計パターンがあるかどうかです。また、データベース設定が別のアプリから更新された場合、ステートレス セッションを使用すると問題が解決しますか?