错误FileAccessDenied(JET_errFileAccessDenied,无法访问文件,文件被锁定或正在使用中)

Jes*_*olm 5 .net-4.0 ravendb

我正在尝试将Raven DB部署到我的站点,以集成模式运行.Net 4(站点以前用于托管ASP.Net MVC 3站点.

我的配置文件是这样的:

<appSettings>
    <add key="Raven/DataDir" value="~\App_Data"/>
    <add key="Raven/AnonymousAccess" value="All"/>
  <add key="Raven/Port" value="80"/>
</appSettings>
<system.webServer>
    <handlers>
        <add name="All" path="*" verb="*"
                type="Raven.Web.ForwardToRavenRespondersFactory, Raven.Web"/>
    </handlers>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

但是,我得到的例外是这样的:

**Error FileAccessDenied (JET_errFileAccessDenied, Cannot access file, the file is locked or in use)

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: Microsoft.Isam.Esent.Interop.EsentErrorException: Error FileAccessDenied (JET_errFileAccessDenied, Cannot access file, the file is locked or in use)

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace: 


[EsentErrorException: Error FileAccessDenied (JET_errFileAccessDenied, Cannot access file, the file is locked or in use)]
   Microsoft.Isam.Esent.Interop.Api.Fail(Int32 err) in C:\Work\ravendb\SharedLibs\Sources\ManagedEsent-48322\EsentInterop\Api.cs:2279
   Microsoft.Isam.Esent.Interop.Api.JetInit(JET_INSTANCE& instance) in C:\Work\ravendb\SharedLibs\Sources\ManagedEsent-48322\EsentInterop\Api.cs:130
   Raven.Storage.Esent.TransactionalStorage.Initialize(IUuidGenerator uuidGenerator) in c:\Builds\raven\Raven.Storage.Esent\TransactionalStorage.cs:169

[InvalidOperationException: Could not open transactional storage: d:\IIS\domainfolder\ravendb\App_Data\Data]
   Raven.Storage.Esent.TransactionalStorage.Initialize(IUuidGenerator uuidGenerator) in c:\Builds\raven\Raven.Storage.Esent\TransactionalStorage.cs:182
   Raven.Database.DocumentDatabase..ctor(InMemoryRavenConfiguration configuration) in c:\Builds\raven\Raven.Database\DocumentDatabase.cs:127
   Raven.Web.ForwardToRavenRespondersFactory..cctor() in c:\Builds\raven\Raven.Web\ForwardToRavenRespondersFactory.cs:31

[TypeInitializationException: The type initializer for 'Raven.Web.ForwardToRavenRespondersFactory' threw an exception.]
   Raven.Web.ForwardToRavenRespondersFactory..ctor() +0

[TargetInvocationException: Exception has been thrown by the target of an invocation.]
   System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) +0
   System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache) +98
   System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean skipCheckThis, Boolean fillCache) +241
   System.Activator.CreateInstance(Type type, Boolean nonPublic) +69
   System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes) +1136
   System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes) +111
   System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture) +23
   System.Web.HttpRuntime.CreateNonPublicInstance(Type type, Object[] args) +60
   System.Web.Configuration.HandlerFactoryCache..ctor(String type) +46
   System.Web.HttpApplication.GetFactory(String type) +81
   System.Web.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +223
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +184**
Run Code Online (Sandbox Code Playgroud)

我已经联系了我的主机,并确认我对App_Data有读/写权限,我也通过编写一些代码在那里创建文件来证实这一点.

我的主人暗示我的问题可能是由于我的数据存储区的双重初始化 - 无论这意味着什么.

你们中的任何人都可以指出我的解决方案吗?

更新2011-05-18 我正在使用目前可在http://builds.hibernatingrhinos.com/download/2004上获得的RavenDB-Build-360 .我正在使用http://ravendb.net/documentation/docs-deployment-iis上的安装说明在IIS 7.5上运行它.但是,我只是将/ Web文件夹的内容复制到我的主机,而不是使用自己的本地IIS.这意味着/ bin-folder,web.config和SilverLight XAP文件.所以我无法通过任何方式调试我的方式.

我没有注意到第一行(关于WebDAV模块),但我会尽快检查我的主机.
Raven DB如何依赖于此?

nol*_*ogo 3

我遇到了完全相同的问题 - 我的解决方案是将默认应用程序池身份从“ApplicationPoolIdentity”删除到管理员帐户(例如我自己用于测试目的)。重新启动网站后,这就起作用了。