2016-03-24 16 views
0

Ich versuche gerade, ein Feld in den Header meiner Cypher-Anfrage hinzuzufügen, um dem Load-Balancer mitzuteilen, ob es eine Schreib- oder Leseanforderung ist, so dass er die Abfrage auf Master- oder Slave-Neo4j-Instanz leitet.NEO4J: CustomHeaders überschreiben Standard-Header?

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)... 

Aber wenn die Abfrage ausgeführt wird, ich bin Exception bekommen wie:

System.FormatException: "Der Header Namensformat ist ungültig."

Meine Frage ist, überschreiben die .CustomHeader (Sammlung) den Standard-Header, anstatt nur das Feld X: Write? Ich habe Mühe, Dokumentation zu CustomHeader zu finden und wie es funktionieren soll.

Vielen Dank im Voraus für das Lesen von mir.

EDIT: Hier ist einige Code-Beispiele i gefunden und funktionieren soll: https://github.com/Readify/Neo4jClient/pull/149/files

Antwort

0

Der Fehler war, dass ich nicht verwenden konnte ‚:‘ in dem Header, die Änderung den Namen auf „IsWrite“ das Problem gelöst.