【问题标题】:AppHarbor + RavenDB - EsentFileAccessDeniedExceptionAppHarbor + RavenDB - EsentFileAccessDeniedException
【发布时间】:2012-05-05 02:25:08
【问题描述】:

我正在尝试使用 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

【问题讨论】:

  • 你应该把它发送到 support@ravenhq.com

标签: ravendb appharbor


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    无法在 AppHarbor 上运行的自托管 RavenDB 是 known problem

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

    【讨论】:

    • 我在使用 RavenHQ 插件时遇到此错误。我没有在 AppHarbor 经营自己的商店。
    • 您能否提供有关您的配置的更多详细信息?如果您确实遇到了 RavenHQ 实例,您应该与他们取得联系。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多