Когда вы открываете базу данных db4o, она блокирует файл базы данных, чтобы предотвратить повреждение.Это означает, что во время работы вашего сервера файл базы данных заблокирован, и никакой другой процесс не может получить к нему доступ.(Да, есть способ отключить это, но это почти наверняка повредит базу данных)
Вы веб-сервер также работаете в режиме клиент-сервер?В этом случае вы можете подключить работающий экземпляр db4o.Вы также можете сначала попытаться подключиться, и только если у вас не получится напрямую открыть сервер?
Если вы используете только сервер встроенного клиента в приложении ASP.NET, вы можете изменить его для целей отладки нареальный клиентский сервер.ASP.NET использует только встроенные клиенты.Но это позволяет вам соединиться с LINQ-Pad.
Ответ на комментарий:
Вам необходимо открыть полностью сервер , который поддерживает клиентов, подключающихся по сети.Например:
// in your application
int PortNumber = 8888;
using(var server = Db4oClientServer.OpenServer("database.db4",PortNumber))
{
server.GrantAccess("debug-user","debug-pwd");
// application uses embedded client:
using(var container = server.OpenClient())
{
// your application does stuff
}
}
А затем в LINQPad:
using(var client = Db4oClientServer.OpenClient("localhost",8888,"debug-user","debug-pwd"))
{
// do stuff
}