C# 使用TransactionalGraphClient时,neo4jclient无法对neo4j数据库进行身份验证

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

以下实现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://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允许对