2011-03-23 75 views
15

如果我试图挽救项目列表我要保存具有计数> 30我得到一个错误说RavenDB会话> 30

请求 允许的最大数量(30)本场会议已达到 。 Raven限制了允许会话允许 作为早期预警系统的远程呼叫的数量 。 会话预计会短暂 居住,并且Raven会提供设备 ,像Load(string []键)一次加载多个文档 并批量 保存。

我能做些什么来解决这个问题?这个错误的问题是我没有加载,我试图保存文件。任何想法,将不胜感激。谢谢

回答

19

在调用Session.SaveChanges之前调用Session.Store与每个对象。

+3

我叫会话Session.SaveChanges了我“的foreach”的一侧它完美地工作 – 2011-03-23 21:47:01

+2

你已经注意到了:http://ayende.com/blog/4814/ravendb-safe-by-default-设计ndash的-IT-作品。也许你应该重新思考。 – edoloughlin 2011-05-12 12:15:12

18

虽然不推荐;在特殊情况下,您可以设置Session.Advanced.MaxNumberOfRequestsPerSession属性。

using (var docStore = store.Initialize()) 
    { 
    using (var session = docStore.OpenSession()) 
     { 
     session.Advanced.MaxNumberOfRequestsPerSession = 1000; 
     } 
    } 
+1

Upvoted,因为您可能想要设置更高的合法理由。 1000也许太多了。 一个合理的原因可能是您正在进行多项交易,但只有在保存失败时才会失败。 错误是警告开发者做一些愚蠢的事情。 – DalSoft 2012-08-08 16:41:37

+0

放置该代码的位置? 意味着在连接初始化或打开会话时放置它 – Mohsin 2013-10-02 12:47:10

相关问题