为什么RavenDB会劫持我的Nancy请求?

nat*_*ere 2 c# iis ravendb nancy .net-4.5

从使用相同连接代码的Winforms应用程序,RavenDB工作正常.我可以放弃存储和检索文档.

当我尝试在Nancy应用程序中执行相同的操作时,结果完全出乎意料.

Nancy正在侦听端口12345,并且RavenDB在嵌入式模式下运行,UseEmbeddedHttpServer启用并侦听端口8080.

第一个根据请求http://localhost:12345/获取网页响应的请求.任何后续请求都http://localhost:12345/被重定向到/raven/studio.html.如果我做的第一个请求是/widgetsNancy按预期返回小部件的JSON列表,但任何后续请求都会返回:

Could not figure out what to do

Your request didn't match anything that Raven knows to do, sorry...
Run Code Online (Sandbox Code Playgroud)

似乎RavenDB正在劫持Nancy正在监听的端口.什么会导致这种行为?

nat*_*ere 7

当由IIS托管时,需要显式设置RavenDB的端口.

默认值来自IIS配置,这就是从Winforms应用程序运行嵌入式模式时不存在问题的原因.

(db as EmbeddableDocumentStore).Configuration.Port = 8080;