C# 使用TransactionalGraphClient时,neo4jclient无法对neo4j数据库进行身份验证
以下实现neo4jclient的C代码正确连接到数据库:C# 使用TransactionalGraphClient时,neo4jclient无法对neo4j数据库进行身份验证,c#,.net,neo4j,neo4jclient,C#,.net,Neo4j,Neo4jclient,以下实现neo4jclient的C代码正确连接到数据库: static readonly string dbConnection = "http://user:pass@localhost:7474/db/data"; GraphClient neoClient = new GraphClient(new Uri(dbConnection)); 但是,当客户机被强制转换为事务时,相同的代码会失败 static readonly string dbConnection = "http://use
static readonly string dbConnection = "http://user:pass@localhost:7474/db/data";
GraphClient neoClient = new GraphClient(new Uri(dbConnection));
但是,当客户机被强制转换为事务时,相同的代码会失败
static readonly string dbConnection = "http://user:pass@localhost:7474/db/data";
ITransactionalGraphClient neoClient = new GraphClient(new Uri(dbConnection));
带着错误
The response status was: 401 Unauthorized
The response from Neo4j (which might include useful detail!) was: {
"errors" : [ {
"code" : "Neo.ClientError.Security.Unauthorized",
"message" : "No authentication header supplied."
} ]
}
我需要使用事务,这种行为是有原因的还是有办法避免的
更新:我发现最初的数据库连接确实有效。这个异常是从我的第一个Cypher查询中抛出的,所以我也在这里发布了这个查询,以防出现问题
public void AddNode(NodeClass node)
{
using (var transaction = neoClient.BeginTransaction())
{
var paramaters = new
{
Id = node.Id,
Name = node.Name,
...
};
neoClient.Cypher
.Create("(x:NodeLabel {paramaters})")
.WithParam("paramaters", paramaters)
.ExecuteWithoutResults();
transaction.Commit();
}
}
如果您将连接更改为: 新葡萄园rihttp://localhost:7474/db/data,用户,通行证 您将连接并执行您的查询 在这个案例中,没有被标记为已修复-这主要是因为我通常会等待bug报告程序将其标记为已修复,但我可能应该进行清理-事实上,我已经完成了,但还没有完成
从缺乏文件的角度来看,我只能再次道歉。这主要是因为不幸的是,我必须工作才能生活,有时我觉得回家后我只想放松一下:-o你确定演员们有什么事要做吗?如果首先使用发布的第一个代码块实例化它,然后将其强制转换为ITransactionalGraphClient,会发生什么情况?我最初尝试过,它也做了同样的事情。我在这里使用即时转换对代码进行了格式化,只是为了可读性。然后,转换根本不需要做任何事情,请修改凭据。凭据是正确的,并且可以正确地用于非事务性密码查询。查看更新。检查这个:哦,哇,一直以来都很简单。我很高兴我不再需要使用笨重的IHttpClient手册了,非常感谢!既然GitHub不允许对wiki页面进行拉取请求,那么个人是否可以通过其他方式贡献neo4jclient文档?我想您可以编辑它们。也许我会考虑将其转换为Github允许对