2

在使用相同连接代码的 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...

似乎 RavenDB 正在劫持 Nancy 正在监听的端口。有什么想法会导致这种行为吗?

4

2 回答 2

7

当由 IIS 托管时,需要明确设置 RavenDB 的端口。

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

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

于 2013-05-31T00:47:16.067 回答
4

我没有充分的理由认为它会那样做。

也许您应该指定一个显式Raven/Port设置。请参阅这些文档

或者您可以以编程方式执行此操作:

var store = new EmbeddableDocumentStore {UseEmbeddedHttpServer = true};
store.Configuration.Port = 8080;
于 2013-05-31T00:52:49.210 回答