Schwierig, vor allem, wenn das parallel in zwei Foren debattiert wird.
So, wie ich es verstanden habe, willst Du Speicherkonflikte vermeiden.
Erste Frage: Kommt Document Locking für Dich nicht in Frage? Okay, das ist auch nicht ohne Risiken und Nebenwirkungen.
Zweite Frage: Replizierkonflikte würden Dich nicht stören ("gleichzeitige" Änderungen an beispielsweise lokalen Repliken)?
Wenn ein Document erst einmal ein In-Memory-Document wird, wird es eh schwierig. Da hilft eigentlich nur ein komplettes Re-Open, wenn aus dem Lesemodus in den Edit-Modus gewechselt wird.
Dritte Frage: Wie verhinderst Du denn derzeit die "einfachen" Speicherkonflikte (User A öffnet Dokument zum Editieren, ändert munter, dann klingelt das Telefon oder der Magen knurrt, und wenn er dann weiter macht, hat zwischendurch User B auch das Dokument verändert)?
Bei einer Datenbank, die auf Grund ihrer Aufgabe (sofortige Abarbeitung einer Taskliste durch Mitarbeiter etlicher Abteilungen an unterschiedlichen Standorten) geradezu nach Speicher- oder Replizierkonflikten schreit, bin ich einen ganz anderen Weg gegangen: Die DB erlaubt gar kein direktes Speichern (in solchen Fällen), sondern beim "Speichern" sendet der User seine geänderten Items an die zentrale Datenbank per eMail (vollkommen unbemerkt natürlich). Erst diese arbeitet sequentiell die Modifikationen in das zu ändernde Dokument ein - Replizierkonflikte können nicht entstehen. Dies könnte man - hier aber nicht gewünscht - noch dahingehend erweitern, dass der nun geltende Leitsatz "wer zuletzt kommt, den belohnt das Leben" aufgehoben wird und so wiederum festgestellte "Konflikte" (Item X soll "gleichzeitig" von User A und User B geändert werden) zunächst erstmal einem humanen Kreatur vorgelegt werden. Macht aber in meinem Fall keinen Sinn.
Sag' mal genaueres an.
Bernhard