我使用 Docker hub 上提供的 Powershell 脚本通过 Docker 安装了 RavenDb:https://hub.docker.com/r/ravendb/ravendb/ (运行 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
最佳答案
马修, 我们的 docker 使用中有一个错误会导致这种情况。 我们昨天刚刚在 beta 2 中发布了一个修复程序,但 docker image 将在周一更新。
您可以在这里获取新版本的客户端。 https://www.myget.org/feed/ravendb/package/nuget/RavenDB.Client
关于c# - RavenDb - 状态代码 : NotFound,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44575125/