2010-03-25 7 views
6

Nous avons un cache dans lequel je voudrais placer des champs de transaction afin que tout processus doive explicitement 'valider' les changements qu'il souhaite faire aux objets mis en cache et permettre d'annuler les changements quand le processus échoue à mi-chemin bien.Comment implémenter une portée de transaction de mémoire en C#?

À l'heure actuelle, nous clonons en profondeur les objets mis en cache sur les requêtes get, cela fonctionne mais ce n'est pas une solution propre et implique également une bonne maintenance. Je me souviens d'avoir entendu parler d'une solution MTS (scope de transaction de mémoire) sur .NetRocks il y a quelque temps mais je ne me souviens plus de son nom! Est-ce que quelqu'un connaît un bon cadre MTS là-bas? Sinon, si je devais mettre en place le mien, y a-t-il de bonnes directives/schémas sur la façon de le faire?

Merci,

EDIT: obtenu mon abréviation complètement faux! Il aurait dû être STM, mémoire de transaction de logiciel

Répondre

3

Il semble que vous vous souveniez de la discussion de Software Transactional Memory de .NET Rocks.

Malheureusement, il n'y a pas encore de framework disponible, fonctionnel et utilisable pour cela. C'est toujours un projet de recherche dans DevLabs (STM.NET).

À ce stade, votre option de clonage est probablement la meilleure approche, du moins pour toute application commerciale ou autre.

+0

Merci, j'ai mal tourné mon abréviation! – theburningmonk

+0

@theburningmonk: J'espère que cela aide - c'est un projet intéressant à jouer avec, mais malheureusement, pas tout à fait "encore là" ... –

Questions connexes