Asp.net mvc 5 RavenDb的KeyNotFoundException

Asp.net mvc 5 RavenDb的KeyNotFoundException,asp.net-mvc-5,ravendb,asp.net-web-api2,Asp.net Mvc 5,Ravendb,Asp.net Web Api2,刚刚在IIS中安装了RavenDb Build-3528作为网站 RavenDb运行良好,可以访问management studio,创建数据库等,到目前为止没有问题 但是,当我启动MVC 5应用程序(使用常规MVC控制器和WebApi控制器)时,应用程序会在启动时崩溃,并显示json消息: { message: "An error has occurred.", exceptionMessage: "The given key was not present in the di

刚刚在IIS中安装了RavenDb Build-3528作为网站

RavenDb运行良好,可以访问management studio,创建数据库等,到目前为止没有问题

但是,当我启动MVC 5应用程序(使用常规MVC控制器和WebApi控制器)时,应用程序会在启动时崩溃,并显示json消息:

{
    message: "An error has occurred.",
    exceptionMessage: "The given key was not present in the dictionary.",
    exceptionType: "System.Collections.Generic.KeyNotFoundException",
    stackTrace: " at System.Collections.Concurrent.ConcurrentDictionary`2.get_Item(TKey key) at Raven.Database.Server.Controllers.RavenBaseApiController.InnerInitialization(HttpControllerContext controllerContext) in c:\Builds\RavenDB-Stable-3.0\Raven.Database\Server\Controllers\RavenBaseApiController.cs:line 101 at Raven.Database.Server.Controllers.RavenDbApiController.InnerInitialization(HttpControllerContext controllerContext) in c:\Builds\RavenDB-Stable-3.0\Raven.Database\Server\Controllers\RavenDbApiController.cs:line 112 at Raven.Database.Server.Controllers.RavenDbApiController.<ExecuteAsync>d__3a.MoveNext() in c:\Builds\RavenDB-Stable-3.0\Raven.Database\Server\Controllers\RavenDbApiController.cs:line 54 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__1.MoveNext()"
}
{
消息:“发生错误。”,
例外消息:“字典中不存在给定的密钥。”,
exceptionType:“System.Collections.Generic.KeyNotFoundException”,
stackTrace:“在System.Collections.Concurrent.ConcurrentDictionary`2.在Raven.Database.Server.Controllers.RavenBaseApiController.InnerInitialization(HttpControllerContext controllerContext)获取_项(TKey键)在c:\Builds\RavenDB-Stable-3.0\Raven.Database\Server\Controllers\RavenBaseApiController.cs中:Raven.Database.Server.Controllers.RavenDbApiController.InnerInitialization的第101行(HttpControllerContext controllerContext)在c:\Builds\RavenDB-Stable-3.0\Raven.Database\Server\Controllers\RavenDbApiController.cs中:Raven.Database.Server.Controllers.RavenDbApiController.d_u3a.MoveNext()的第112行在c:\Builds\RavenDB-Stable-3.0\Raven.Database\Server\Controllers\RavenDbApiController.cs中:第54行--在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)中引发异常的上一个位置的堆栈结束跟踪位于System.Web.Http.Dispatcher.HttpControllerDispatcher.d_u1.MoveNext()的System.Runtime.CompilerServices.TaskWaiter`1.GetResult()
}
有趣的是:在IIS中安装Ravendbas网站之前,我们在MVC应用程序中使用Ravendb2.5作为嵌入式服务器,并且工作得很好

在Windows事件管理器中,我找不到任何有用的信息

有人知道发生了什么吗?

如果在
WebApiConfig.cs
中注释掉以下行,则错误消失:

// Web API routes
config.MapHttpAttributeRoutes();  // <--- Offending line
//Web API路由

config.maphttpAttribute路由();//哇,这救了我-bin文件夹中的Raven.Database.dll快把我累死了。好吧,那么如果你想在web api项目中使用EmbeddedBleDocumentStore怎么办…?结果证明这不是一个受支持的方案。基本上,你不能。