我們爲我們的網站使用RavenDB。該網站將所有數據加載到內存(不是很多),以便能夠處理大量負載。我們將數據加載到後臺線程中,後臺線程會定期檢查數據庫(RavenDB + sqlserver)是否存在任何新數據,以及是否將數據加載到內存中。ravendb長時間運行會話
我們已經嘗試了很多東西來解決每個會話30次查詢到RavenDB的煩人請求限制。由於Raven沒有任何機制在完成檢查/加載循環的一次迭代後「重置」會話,並且由於無法告訴Structuremap,所以我們確實想要新的會話,即使我們是仍然像以前一樣,我們有點卡住了。
最後,我重新設計了一個架構,使得我們的倉庫現在使用RavenSessionProxy,該架構映射爲我們加載,可以通過加載/獲取循環重置(當我們重置它時手動創建新的documentsession)。
這真的是唯一的方法嗎? Raven中沒有任何機制可以說:「嘿,先生,Session,我現在和你在一起,自己刷新,準備下一次給你打電話,並且準備好新鮮」)或者告訴Structuremap「Hey,SM!Next當我問你一個IDocumentSession,給我一個新的,我厭倦了這個舊的「
MaxNumberOfRequests只會推遲問題,重點是我希望會話永遠持續下去,只是定期重置自己。不是所有*用例都是針對單個請求執行多達30個查詢然後死亡的。我的背景加載是*假設*永遠生活 – AndreasKnudsen 2012-04-02 11:28:39