EsentTooManyInstancesException при использовании базы данных Esent в приложении Windows Form
Мы пытаемся использовать базу данных Esent вместо огромного списка в памяти, чтобы освободить память во время выполнения приложения. Но поскольку существует много экземпляров ESENTDbWrapper(наша пользовательская оболочка над Esent.Interop), в какой-то момент он вызывает исключение EsentTooManyInstancesException.
Итак, какого максимума нет. одновременных экземпляров, которые можно инициализировать? Или мы пропускаем какие-либо вещи, связанные с конфигурацией??? Любое предложение приветствуется. Благодарю.
1 ответ
Ограничение на количество экземпляров составляет 1024. Звучит так, как будто вы пропускаете экземпляры.
Но создание экземпляра относительно дорого. Вы должны совместно использовать один и тот же экземпляр и вместо этого создавать несколько сеансов для вашего доступа.
Экземпляр связан с потоком файлов журнала и обычно открывает исключительно файлы журналов и базу данных, поэтому вы получите ошибку ACCESS_DENIED. Я предполагаю, что вы делаете доступ только для чтения с вашими экземплярами, и экземпляры только для чтения откроют файлы только для чтения, с "разрешением другим читателям" получить доступ к файлам.
Надеюсь, это поможет,
-Мартин