4

我正在尝试使用 RavenDB 实例让我的应用程序在 AppHarbor 中运行。我已经更新了我的 raven 库以构建 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
4

2 回答 2

4

似乎在应用程序启动期间,我的应用程序正在应用程序根目录中创建一个数据目录。我发现我有一个对 RavenDB Embedded 的旧引用,该引用在创建不需要的数据目录的项目中使用的时间更长。一旦我删除了该引用并推送,一切都开始正常工作。

于 2012-05-04T18:18:42.187 回答
2

您是否尝试将 AppHarbor Web Worker 实例文件存储用于 RavenDB 后备存储?这是个坏主意,请改用托管的RavenHQ 插件

无法在 AppHarbor 上运行的自托管 RavenDB 是一个已知问题

即使您让它工作,请注意,当您部署新版本的代码或工作人员实例失败时,工作人员文件系统不会持久保存。

于 2012-05-03T23:01:40.903 回答