【发布时间】:2017-06-17 22:05:36
【问题描述】:
我使用 Docker 集线器上提供的 Powershell 脚本将 RavenDb 与 Docker 一起安装:https://hub.docker.com/r/ravendb/ravendb/ (run-ubuntu1604.ps1)。
我可以使用 localhost:8080 登录 RavenDb 管理控制台,并且可以创建一个名为“mydbname”的数据库。
但是,当我尝试编写一个 .NET 程序来与 Raven 交互时,我得到了一个错误。代码如下:
using (var store = new DocumentStore { Url = "http://localhost:8080", DefaultDatabase = "mydbname" })
{
store.Initialize();
using (var session = store.OpenSession())
{
var doc = MyClass.New();
session.Store(doc);
session.SaveChanges();
Console.WriteLine("Inserted this document:");
Console.WriteLine(doc.Name + "\t" + doc.Age + "\t" + doc.RandomString);
Console.WriteLine();
}
}
MyClass.New() 只是返回一个 MyClass 类型的新 POCO。
我在运行时遇到的错误:
Unhandled Exception: Raven.Abstractions.Connection.ErrorResponseException: Status code: NotFound
at Raven.Client.Connection.Implementation.HttpJsonRequest.<CheckForErrorsAndReturnCachedResultIfAnyAsync>d__41.MoveNext() in C:\Builds\RavenDB-Stable-3.5\Raven.Client.Lightweight\Connection\Implementation\HttpJsonRequest.cs:line 385
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
[省略了很长的堆栈跟踪]
那么,我是不是配置错了,还是我在 C# 中写错了,还是什么?我正在使用RavenDB Client 3.5.3
【问题讨论】:
-
如果通过 4.0 客户端运行会发生什么?
-
哦,也许就是这样。 docker镜像是4.x,4.x客户端还没上nuget