EsentTooManyInstancesException при использовании базы данных Esent в приложении Windows Form

Мы пытаемся использовать базу данных Esent вместо огромного списка в памяти, чтобы освободить память во время выполнения приложения. Но поскольку существует много экземпляров ESENTDbWrapper(наша пользовательская оболочка над Esent.Interop), в какой-то момент он вызывает исключение EsentTooManyInstancesException.

Итак, какого максимума нет. одновременных экземпляров, которые можно инициализировать? Или мы пропускаем какие-либо вещи, связанные с конфигурацией??? Любое предложение приветствуется. Благодарю.

1 ответ

Решение

Ограничение на количество экземпляров составляет 1024. Звучит так, как будто вы пропускаете экземпляры.

Но создание экземпляра относительно дорого. Вы должны совместно использовать один и тот же экземпляр и вместо этого создавать несколько сеансов для вашего доступа.

Экземпляр связан с потоком файлов журнала и обычно открывает исключительно файлы журналов и базу данных, поэтому вы получите ошибку ACCESS_DENIED. Я предполагаю, что вы делаете доступ только для чтения с вашими экземплярами, и экземпляры только для чтения откроют файлы только для чтения, с "разрешением другим читателям" получить доступ к файлам.

Надеюсь, это поможет,

-Мартин

Другие вопросы по тегам