我在 Windows Azure 上运行一个 MVC 网站并使用嵌入式 RavenDB。如果网站是“冷的”(从 Azure 实例卸载),我会在第一次访问网站时收到以下错误消息:
“/”应用程序中的服务器错误。
写入日志文件失败
说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:Microsoft.Isam.Esent.Interop.EsentLogWriteFailException:写入日志文件失败
源错误:
在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。
堆栈跟踪:
[EsentLogWriteFailException: 写入日志文件失败]
Microsoft.Isam.Esent.Interop.Api.Check(Int32 err) +21
Microsoft.Isam.Esent.Interop.Api.JetInit(JET_INSTANCE& instance) +23
Raven.Storage.Esent.TransactionalStorage .Initialize(IUuidGenerator uuidGenerator, OrderedPartCollection`1 documentCodecs) +309[InvalidOperationException:无法打开事务存储:C:\DWASFiles\Sites\reflix\VirtualDirectory0\site\wwwroot\App_Data\Data] Raven.Storage.Esent.TransactionalStorage.Initialize(IUuidGenerator uuidGenerator, OrderedPartCollection`1 documentCodecs) +443
Raven。 Database.DocumentDatabase..ctor(InMemoryRavenConfiguration 配置) +994
Raven.Client.Embedded.EmbeddableDocumentStore.InitializeInternal() +313 Raven.Client.Document.DocumentStore.Initialize() +463 Reflix.MvcApplication.InitializeRavenDB(String dataDirectory, Boolean rethrowException) +135 Reflix.MvcApplication.Application_Start() +131[HttpException (0x80004005): 无法打开事务存储:C:\DWASFiles\Sites\reflix\VirtualDirectory0\site\wwwroot\App_Data\Data] System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +9859441
System.Web .HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +118
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +172
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance( IntPtr appContext,HttpContext 上下文)+336
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)+296[HttpException (0x80004005):无法打开事务存储:C:\DWASFiles\Sites\reflix\VirtualDirectory0\site\wwwroot\App_Data\Data] System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +9873784 System.Web.HttpRuntime。 EnsureFirstRequestInit(HttpContext 上下文)+101 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest WR,HttpContext 上下文)+254
版本信息:Microsoft .NET Framework 版本:4.0.30319;ASP.NET 版本:4.0.30319.18033
如果我等一两分钟,网站就会正常运行。很明显,这是一个首次启动的问题。任何人有任何想法如何解决这个问题?
我的配置:
- MVC 4
- .NET 4.5
- 乌鸦数据库 2.0.2360
更新: Azure 团队将此视为 Azure 网站可能存在的缺陷。一听到任何消息,就会有更多更新。