.NET 只读模式的 Neo4j 驱动程序不起作用
Neo4j Driver for .NET Readonly mode not working
我对 .NET 的 Neo4j 驱动程序有疑问。
为了执行查询,我使用只读模式的会话和读取事务,但我仍然可以通过查询修改图表,例如:Match (n) where Id(n) = 123 set n.foo = 33 return n;
我的代码:
using (var session = Driver.Session(AccessMode.Read))
{
session.ReadTransaction(tx =>
{
try
{
var queryResult = tx.Run(job);
}
catch (Exception ex)
{
errorMessage = ex.Message;
}
});
}
为什么可以呢?如何解决这个问题?
AccessMode.Read
定义会话的类型,这仅在您处于集群模式时使用,以在副本服务器而不是核心服务器上执行会话的事务。
这并不能说明您的会话是只读的。
要获得纯只读访问权限,您需要使用只读用户连接到 Neo4j。
我对 .NET 的 Neo4j 驱动程序有疑问。
为了执行查询,我使用只读模式的会话和读取事务,但我仍然可以通过查询修改图表,例如:Match (n) where Id(n) = 123 set n.foo = 33 return n;
我的代码:
using (var session = Driver.Session(AccessMode.Read))
{
session.ReadTransaction(tx =>
{
try
{
var queryResult = tx.Run(job);
}
catch (Exception ex)
{
errorMessage = ex.Message;
}
});
}
为什么可以呢?如何解决这个问题?
AccessMode.Read
定义会话的类型,这仅在您处于集群模式时使用,以在副本服务器而不是核心服务器上执行会话的事务。
这并不能说明您的会话是只读的。
要获得纯只读访问权限,您需要使用只读用户连接到 Neo4j。