将.NET客户端连接到Neo4j桌面版本4时出现问题

将.NET客户端连接到Neo4j桌面版本4时出现问题,neo4j,neo4jclient,Neo4j,Neo4jclient,我刚刚安装了Neo4j Desktop,我正在尝试使用.NET客户端进行连接,问题是当我尝试连接时,我得到了错误404响应(未找到资源)。 目前的情况如下: 1) 我已经创建了一个新用户(管理员,具有管理员权限),以取代neo4j用户的使用(我没有该用户的密码) 2) 使用admin user,我可以使用浏览器成功连接到Neo4j,因此用户看起来还行 3) 我有一个运行在Neo4j默认数据库下的数据库,我可以从浏览器界面查询这个数据库,所以数据库看起来也不错 4) 在我的.NET应用程序中,我刚

我刚刚安装了Neo4j Desktop,我正在尝试使用.NET客户端进行连接,问题是当我尝试连接时,我得到了错误404响应(未找到资源)。 目前的情况如下:

1) 我已经创建了一个新用户(管理员,具有管理员权限),以取代neo4j用户的使用(我没有该用户的密码)

2) 使用admin user,我可以使用浏览器成功连接到Neo4j,因此用户看起来还行

3) 我有一个运行在Neo4j默认数据库下的数据库,我可以从浏览器界面查询这个数据库,所以数据库看起来也不错

4) 在我的.NET应用程序中,我刚刚在所有.NET客户端示例中添加了连接命令:

var-graphClient=new-graphClient(新Uri(“”,“admin”,“admin”); graphClient.Connect()

执行Connect会为未找到的资源生成异常(404)


Neo4j的当前版本是4.0.3,Noe4jClient的版本是3.1.0.6(找到的最新NuGet软件包),我怀疑客户端版本3与Neo4j版本4不兼容。

你是对的,
GraphClient
目前无法使用
4.x
数据库,您可以使用
BoltGraphClient
——但由于加密使用
4.x
的方式发生变化,您需要为其提供一个驱动程序实例以使其正常工作

//First create a 'Driver' instance.
var driver = GraphDatabase.Driver("bolt://localhost:7687", AuthTokens.Basic("neo4j", "neo"), Config.Builder.WithEncryptionLevel(EncryptionLevel.None).ToConfig());

//Pass that driver to the BoltGraphClient
var bgc = new BoltGraphClient(driver);

//Connect.
bgc.Connect();

谢谢你,克里斯,不幸的是,在你的解决方案中仍然存在一些问题:1)如果我只包括名称空间Neo4j.Driver,我会得到一个错误,因为它缺少BoltGraphClient的定义2)如果我还包括名称空间Neo4jClient(我想应该不需要,但我已经尝试过了),找到了BoltGraphClient的定义,但是我们在驱动程序中遇到了一个问题:“类型IDriver是在未引用的程序集中定义的…”因此在这个包中似乎有一些奇怪的东西,我想BoltGraphClient应该出现在Neo4j.Driver名称空间中,但不是。你需要
使用Neo4j.Driver.V1
当你从nuget中拉出
Neo4jClient
库时,你会看到它也会带来
Neo4j.Driver
我认为V1已经不存在了,这是在驱动程序的GitHub中找到的注释:-v1已从驱动程序的包名中删除。所有公共API都在名称空间Neo4j.Driver下,而不是旧的Neo4j.Driver.V1。我可以确认,我找不到任何带有.v1的Neo4j nuget包,并且“使用Neo4j.Driver.v1”在我拥有的nuget包(最新版本4.0.1)中不可用。有什么建议吗?您已经更新了软件包,但Neo4jClient不适用于4.0驱动程序。当你刚刚得到客户端时,它会拉低你需要使用的1.7.x,我也无法让它工作,即使是使用Neo4jClient 1.7.x