RavenDB Client 死于 session.Store 并且永远不会 returns
RavenDB Client dies in session.Store and never returns
我正在尝试将用户代码脚本保存在 RavenDB 中,到目前为止几乎一切正常。我从一个单独的进程中获取了一个脚本,我能够加载该脚本,对其进行编辑,然后将其保存回数据库。
当我创建一个新脚本并尝试将其插入数据库时出现问题。我使用下面的代码。
public static void AddUserScript(UserScripts entity, string RavendbUrl, int userid)
{
try
{
IvcRavenDB raven = new IvcRavenDB();
var store = raven.InitRavenDB(RavendbUrl, "UserScripts");
entity.Updated = DateTime.Now.ToString();
entity.Created = DateTime.Now.ToString();
entity.ScriptFileLength = entity.Script.Length;
entity.userid = userid;
using (var session = store.OpenSession())
{
session.Store(entity); // DIES HERE
session.SaveChanges();
}
}
catch (Exception ex)
{
var mess = ex.Message;
}
}
当我说dies的时候,下一行没有执行,没有异常,而且我也没有看到任何错误,这很奇怪。几乎完全相同的代码用于保存具有 Id 的实体,唯一的区别是 添加时的 Id 字段为 null。
我在 Net Core 2.0 中使用 RavenDB 4 和 Raven Client 4.02。
我是 Raven 的新手,甚至不知道从哪里开始才能正确无误地解决这个问题,所以任何帮助都会很棒。
不管什么原因,让Id为空导致了问题,可能是客户端的版本问题,我不确定。但是我找到了两个文档,描述了几种生成 Id 的方法,并且它们都一致地工作。
4种获取Id的方法
语义ID
此 ID 是通过在文档 ID 中输入实际字符串生成的。
即 "users/ayende@hr.com"
Server-Side ID
此 ID 是通过在文档 ID 中输入:"users/" 生成的。
身份
此 ID 是通过在文档 ID 中输入:"users|" 生成的。
GUID
此 ID 是通过将文档 ID 字段留空生成的
可在此处找到更多信息:Document Identifier Generation
我正在尝试将用户代码脚本保存在 RavenDB 中,到目前为止几乎一切正常。我从一个单独的进程中获取了一个脚本,我能够加载该脚本,对其进行编辑,然后将其保存回数据库。
当我创建一个新脚本并尝试将其插入数据库时出现问题。我使用下面的代码。
public static void AddUserScript(UserScripts entity, string RavendbUrl, int userid)
{
try
{
IvcRavenDB raven = new IvcRavenDB();
var store = raven.InitRavenDB(RavendbUrl, "UserScripts");
entity.Updated = DateTime.Now.ToString();
entity.Created = DateTime.Now.ToString();
entity.ScriptFileLength = entity.Script.Length;
entity.userid = userid;
using (var session = store.OpenSession())
{
session.Store(entity); // DIES HERE
session.SaveChanges();
}
}
catch (Exception ex)
{
var mess = ex.Message;
}
}
当我说dies的时候,下一行没有执行,没有异常,而且我也没有看到任何错误,这很奇怪。几乎完全相同的代码用于保存具有 Id 的实体,唯一的区别是 添加时的 Id 字段为 null。
我在 Net Core 2.0 中使用 RavenDB 4 和 Raven Client 4.02。
我是 Raven 的新手,甚至不知道从哪里开始才能正确无误地解决这个问题,所以任何帮助都会很棒。
不管什么原因,让Id为空导致了问题,可能是客户端的版本问题,我不确定。但是我找到了两个文档,描述了几种生成 Id 的方法,并且它们都一致地工作。
4种获取Id的方法
语义ID 此 ID 是通过在文档 ID 中输入实际字符串生成的。 即 "users/ayende@hr.com"
Server-Side ID 此 ID 是通过在文档 ID 中输入:"users/" 生成的。
身份 此 ID 是通过在文档 ID 中输入:"users|" 生成的。
GUID 此 ID 是通过将文档 ID 字段留空生成的
可在此处找到更多信息:Document Identifier Generation