Я оцениваю постоянство db4o для проекта ASP .NET MVC.
Мне интересно, как мне использовать IObjectContainer в веб-контексте в отношении времени жизни объекта.На мой взгляд, я могу выполнить одно из следующих действий:
- Создать IObjectContainer при запуске приложения и сохранить один и тот же экземпляр в течение всего времени жизни приложения.
- Создать один IObjectContainer на запрос.
- Запустите сервер и получите клиентский IObjectContainer для каждого взаимодействия с базой данных.
Каковы значения этих параметров с точки зрения производительности и параллелизма?
Поскольку база данных блокируется при открытии IObjectContainer, я почти уверен, что вариант 2) вызовет у меня некоторые проблемы с параллелизмом - будет ли это так же для варианта 1?
Насколько я понимаю, если я получаю объект из IObjectContainer, он должен быть сохранен тем же экземпляром IObjectContainer - чтобы db4o идентифицировал его как тот же объект.Поэтому, если я выберу опцию 3), мне придется извлечь исходный объект, внести необходимые изменения (скопировать данные из измененного объекта), а затем сохранить его, используя тот же IObjectContainer.Это правда ?