NEO4J:CustomHeaders 覆盖默认 header?
NEO4J: CustomHeaders overwrite default header?
我目前正在尝试将一个字段添加到我的 Cypher 请求的 Header 中,以告诉 load-balancer 它是写入请求还是读取请求,以便将查询定向到 Master 或 Slave Neo4j实例.
HttpClientWrapper clientWrapper = new HttpClientWrapper(ConfigurationManager.AppSettings["Neo4jUserName"], ConfigurationManager.AppSettings["Neo4jPassword"]);
Uri uri = new Uri(ConfigurationManager.AppSettings["Neo4jClient"]);
GraphClient client = new GraphClient(uri, clientWrapper);
client.JsonConverters.Add(new CoordinateConverter());
client.Connect();
...
NameValueCollection collection = new NameValueCollection();
collection.Add("X:Write", "1");
...
client.Cypher.CustomHeader(collection)...
但是在执行查询时,我得到了如下异常:
System.FormatException: "The header name format is invalid."
我的问题是,.CustomHeader(collection) 是否覆盖标准 Header 而不是仅添加字段 X:Write ?
我正在努力寻找有关 CustomHeader 及其工作原理的文档。
提前感谢您阅读我。
编辑:这是我发现的一些代码示例并且应该可以工作:https://github.com/Readify/Neo4jClient/pull/149/files
错误是我无法在标题名称中使用“:”,将名称更改为 "IsWrite" 解决了问题。
我目前正在尝试将一个字段添加到我的 Cypher 请求的 Header 中,以告诉 load-balancer 它是写入请求还是读取请求,以便将查询定向到 Master 或 Slave Neo4j实例.
HttpClientWrapper clientWrapper = new HttpClientWrapper(ConfigurationManager.AppSettings["Neo4jUserName"], ConfigurationManager.AppSettings["Neo4jPassword"]);
Uri uri = new Uri(ConfigurationManager.AppSettings["Neo4jClient"]);
GraphClient client = new GraphClient(uri, clientWrapper);
client.JsonConverters.Add(new CoordinateConverter());
client.Connect();
...
NameValueCollection collection = new NameValueCollection();
collection.Add("X:Write", "1");
...
client.Cypher.CustomHeader(collection)...
但是在执行查询时,我得到了如下异常:
System.FormatException: "The header name format is invalid."
我的问题是,.CustomHeader(collection) 是否覆盖标准 Header 而不是仅添加字段 X:Write ? 我正在努力寻找有关 CustomHeader 及其工作原理的文档。
提前感谢您阅读我。
编辑:这是我发现的一些代码示例并且应该可以工作:https://github.com/Readify/Neo4jClient/pull/149/files
错误是我无法在标题名称中使用“:”,将名称更改为 "IsWrite" 解决了问题。