nhibernate + syscache2 + sqlcachedependency-アプリケーションで無効化しないキャッシュ
-
27-10-2019 - |
質問
Nhibernate for/Mおよびデータアクセスを使用している基本的なMVCアプリケーション、Nhibernateの2番目のレベルのキャッシュにSYSCACHE2、および基礎となるキャッシュの無効化ロジックにSQLCACHEDEPENTYを使用しています。すべてが正しくセットアップされていると思います(リクエストがあれば詳細を追加できます)。アプリケーション側でアイテムがキャッシュされていることがわかります。
ただし、データベーステーブルのアイテムを直接更新すると、SQLCacheDependencyとNhibernateのSYSCACHE2にアプリケーションに戻される更新はありません。したがって、データはデータベースで更新されており、アプリケーションのキャッシュにあるものとは異なります(syscache2を使用して)。
ASPNET_SQLCACHETABLESFORCHENOTIFICATION]テーブルで正しいドメインテーブルの増分に相関する[ChangeID]列の値を見ることができます。そのため、SQL Service Brokerがセットアップされ、正しく構成されていると確信しています。 SQL Profilerを使用してデータベースをプロファイルすると、キュー、サービス、SPROCのセットアップ呼び出しと、監視の開始会議が表示されます。
次に何をチェックすべきか本当にわかりません。誰かが以前にこの問題を抱えていましたが、決議は何でしたか?
解決
主な問題は、私が使用していたSQLドライバーがバッチをサポートしなかったことです。デフォルトのNHIBERNATE SQL 2008ドライバーに戻したら、すべてが水泳になりました。
所属していません StackOverflow