Nous cherchons à mettre en œuvre un verrouillage optimiste dans notre application WCF/WPF. Jusqu'à présent, la meilleure façon de procéder que j'ai trouvée est d'implémenter un Optimistic générique qui stockera une copie de l'original et des modifications (il stockera donc deux copies : l'original et la modification) de tout objet de valeur qui peut être modifié. Est-ce la meilleure façon de procéder ?
Par exemple, un UserVO sera enveloppé par le générique comme un Optimistic. Lorsqu'une modification est apportée à l'Optimistic, la modification sera apportée à la copie modifiée stockée dans l'Optimistic tandis que l'original également stocké dans l'Optimistic restera intact. Le principal problème semble être que cela utilisera deux fois plus d'espace et donc de bande passante.
Merci
EDIT La solution doit être indépendante de la base de données, et il serait utile de pouvoir spécifier une politique de résolution des conflits par objet de valeur. (par exemple, un objet utilisateur pourrait essayer de fusionner si les lignes mises à jour n'ont pas été modifiées, mais un objet transactionnel nécessiterait toujours l'intervention de l'utilisateur).