質問

私はちょうど私のアプリケーションの一つでNHibernateの二次キャッシュを使用する方法について考え始めました。私はおそらくASP.netキャッシュに依存しているNHibernate.Caches.SysCache.SysCacheProviderを使用することになります。

キャッシュを有効にするには問題ありませんでしたが、私はキャッシュeを管理する方法に疑問に思って。グラム。プログラムでキャッシュなどから特定のエンティティを削除します。

私のアプリケーションは、画像データベースのいくつかの種類です。バックエンドを超えるユーザーがアップロードイメージはと/ImageDb/Show?userId=someUserIdにアクセスすることにより、フロントエンドでそれを見ることができます。

のデータは非常に頻繁に変更されません。それが変更された場合や、ユーザーがキャッシュからのこのユーザのためにキャッシュされたオブジェクトを削除するバックエンドで「私のキャッシュをクリアする」というボタンを問題ではないだろう。

私はのすべてののnhibernatesからキャッシュされたオブジェクトの二次キャッシュを削除することができるオンラインの解決策を見つけました。しかし、一人のユーザーが自分のデータのキャッシュをクリアしようとしたという理由だけで、私は、ユーザーの数十のために全体のキャッシュをクリアしたくない...私には少しもブルートフォースのthatsます。

だから私は基本的にやりたいこと:。選択的にC#でnhibernatesセカンドレベルキャッシュからキャッシュされたDBオブジェクトを削除する

これは可能ですか?私はそれがまた、キャッシュ・プロバイダーに依存しますね。これはASP.netキャッシュ・プロバイダーとなんとかではない場合、私は他の組み込み中/オープンソースの提案のために開いています。

scroll top