我在这里的例子:http://developer.db4o.com/Forums/tabid/98/aft/10114/Default.aspx用db4o使用HttpModule设置我的MVC2应用程序。我还开发了一个LINQPad实例来查询我开发的数据。 Web应用程序似乎像一个魅力,但LINQPad不断得到DatabaseFileLockedExceptions,直到我关闭Web服务器。DatabaseFileLockedException让我疯狂
正如我所说的,我使用的是从Gamlor的HTTP模块几乎逐字(使用ClientServer上,而不是嵌入是唯一的区别),这是我的LINQPad代码:
01 void Main()
02 {
03 using(var server = Db4oClientServer.OpenServer(db4opath, 0))
04 {
05 using(var db = server.OpenClient()){
06 var result = (from Object o in db select o);
07 result.Dump();
08 }
09 }
10 }
11
12 private string db4opath = @"C:\blah\blah\blah\blah.db4o";
的LINQPad代码,如果工作正常Web服务器未运行。
我在做什么错?
您能够确定哪些文件被锁定? Web服务器是否在尝试连接时锁定数据库文件? ProcMon或FileMon,或许与ProcExp的句柄监听功能相结合,在这里可能会很有用。 – 2010-08-29 15:18:41
是的,这里只有一个文件“blah.db4o”。我很确定这个网络应用锁定了LINQPad,但它并没有锁定其他网络线程,所以我想我没有正确地关闭文件或其他东西... – 2010-08-29 16:25:52