我正在尋找攔截Session.SaveChanges()
的方法,以便我可以使用同一個會話實例執行一些額外的工作(在某些情況下,這很方便)。如何攔截RavenDb Session.SaveChanges()
編輯:有關重新使用會話的一點是,我有一個需要在同一事務運行更多的工作。
我已經知道(並利用)IDocumentStoreListener
- 但這個接口沒有幫助,因爲它沒有給我訪問當前會話。
我在RavenDb文檔中找不到任何有關攔截SaveChanges調用並獲取當前會話句柄的方法。有誰知道一種方式?
這是一個web應用程序?通常,對於MVC和Web API應用程序,您可以爲每個OWIN上下文創建一個文檔會話。 –
它需要在Web應用程序和webjobs(或任何其他上下文)中工作。我們已經不再使用每個請求一個會話,因爲它帶來了比解決問題更多的問題。 我現在有一個解決方案,但還沒有時間去實施它。當我完成它時,會再次發佈 –
我很好奇聽到您對每個請求進行會話有什麼問題。我已經爲每個請求使用一個會話構建了許多Web應用程序(某些企業級應用程序),並且它工作得很好。 –