AppHarbor + RavenDB - EsentFileAccessDeniedException
Я пытаюсь запустить приложение в AppHarbor, используя экземпляр RavenDB. Я обновил свои raven libs для сборки 888, и я все еще получаю ошибку ниже. Я также разрешил доступ для записи файловой системы, но я все еще получаю ту же ошибку. Есть идеи, как решить эту проблему?
[EsentFileAccessDeniedException: Cannot access file, the file is locked or in use]
at Microsoft.Isam.Esent.Interop.Api.Check(Int32 err) in C:\Work\ravendb\SharedLibs\Sources\managedesent-61618\EsentInterop\Api.cs:line 2739
at Microsoft.Isam.Esent.Interop.Api.JetInit(JET_INSTANCE& instance) in C:\Work\ravendb\SharedLibs\Sources\managedesent-61618\EsentInterop\Api.cs:line 131
at Raven.Storage.Esent.TransactionalStorage.Initialize(IUuidGenerator uuidGenerator) in c:\Builds\RavenDB-Stable\Raven.Storage.Esent\TransactionalStorage.cs:line 205
2 ответа
Похоже, что во время запуска приложения мое приложение создавало каталог данных в корне приложения. Я обнаружил, что у меня есть старая ссылка на RavenDB Embedded, которая дольше использовалась в проекте, который создавал ненужный каталог данных. Как только я удалил эту ссылку и нажал, все стало работать правильно.
Вы пытаетесь использовать хранилище файлов экземпляра веб-работника AppHarbor для резервного хранилища RavenDB? Это плохая идея, используйте вместо этого размещенное дополнение RavenHQ.
Самостоятельно размещенный RavenDB, не работающий на AppHarbor, является известной проблемой.
Даже если вы заставите его работать, обратите внимание, что рабочие файловые системы не сохраняются при развертывании новых версий кода или в случае сбоя рабочего экземпляра.