Session.SaveChanges()
を傍受する方法を探しているので、同じセッションインスタンスを使用していくつかの追加作業を実行することができます(これは場合によっては便利です)。RavenDbを傍受する方法Session.SaveChanges()
編集:セッションを再使用についてのポイントは、私は同じトランザクションで実行する必要があるより多くの仕事を持っていることです。
私はすでにIDocumentStoreListener
を認識しています(使用しています)が、このインターフェイスは現在のセッションにアクセスできないため、役に立たないです。
SaveChangesの呼び出しをインターセプトして現在のセッションでハンドルを取得する方法について、RavenDbのマニュアルで何も見つかりません。誰かが方法を知っていますか?
必要なものを行うことができます
void AfterStore(string key, object entityInstance, RavenJObject metadata);
を実装は、Webアプリケーションのために、このですか?通常、MVCおよびWeb APIアプリケーションの場合、OWINコンテキストごとにドキュメントセッションを作成します。 –
Webアプリケーションとwebjobs(またはその他のコンテキスト)の両方で動作する必要があります。我々は、それが解決するよりも多くの問題をもたらすので、要求ごとに1つのセッションを使用することから離れました。 私は今、解決策を考えていますが、実装する時間がありませんでした。私がそれをしたときに再び投稿します –
リクエストごとにセッションを持つことでどのような問題が発生しているのか、興味があります。私はリクエストごとにセッションを使用して多数のWebアプリケーション(いくつかのエンタープライズ規模)を構築しました。これはかなりうまく機能しています。 –