Ja, wird eine neue Sitzung jedes Mal, wenn eine neue Instanz der Klasse DocumentClient erstellen erstellt. Jede DocumentClient-Instanz verwaltet eine Zuordnung von Sammlung -> Sitzungstokenzuordnung. Der Client speichert das letzte vom Server empfangene Sitzungstoken und gibt es während Leseanforderungen als Header (x-ms-sessiontoken) wieder. Dadurch kann DocumentDB eine aktuelle Replik Ihrer Sammlung finden, um die Konsistenz von Sitzungen (oder Read-Your-Writes) zu gewährleisten. Dies ist das Gleiche mit IReliableReadWriteDocumentClient, da es sich um einen Wrapper für den DocumentClient handelt.
Hinweis: Der einfachste Weg zum Erreichen der Sitzungskonsistenz besteht darin, eine einzige DocumentClient-Instanz automatisch für Sie verwalten zu lassen. Sie können auch eine logische Sitzung über mehrere DocumentClient-Instanzen mit etwas mehr Komplexität verwalten. Angenommen, Sie haben eine Web-API mit Lastenausgleich und zwei Servern mit jeweils einer DocumentClient-Instanz, und Sie möchten die Sitzungskonsistenz auf diesen Servern.
- Client schreibt -> App Server 1 -> DocumentDB
- Client liest -> App Server 2 -> DocumentDB
Sie diese in Schritt zurückgeführt, indem das Speichern der x-ms-session implementieren 1, indem Sie es als Cookie im Client speichern und dann dieses x-ms-sessiontoken in der Leseanforderung wiederholen. Durch das Auslösen des Sitzungstokens erhalten Sie Sitzungskonsistenz.
Wow - Danke. Der Mangel an Azure-Dokumentation hier ist manchmal frustrierend. Wenn sich Leute wie du die Zeit nehmen, Dinge zu erklären, hilft das sehr. – Andy