2009-10-05 27 views
1

Je me demande s'il est possible de créer mes propres services que je peux utiliser dans une transaction ADO. Par exemple, je voudraisAjout d'un service transactionnel arbitraire à une transaction ADO

  1. faire des mises à jour de base de données dans une transaction ADO
  2. faire des mises à jour arbitraires dans un service arbitraire que je crée
  3. soit valider ou annuler la transaction, et que mon arbitraire service comprendre que la transaction a été validée ou annulée, et prendre l'action appropriée

Fondamentalement, je voudrais implémenter les méthodes Commit() et Rollback() moi-même, mais je ne peux pas comprendre comment "joindre" cela à une transaction ADO.

Bravo, merci beaucoup.

Répondre

0

Vous utilisez des transactions .Net, pas des transactions ADO. ADO est conscient de l'infrastructure System.Transactions et, sous TransactionScope, il enrôlera toutes les opérations ADO dans cette transaction système.

Pour ajouter votre propre opération personnalisée, vous devez créer un nouveau gestionnaire de ressources, une classe qui implémente IEnlistmentNotifications. Construire un RM n'est pas trivial et vous devez comprendre des concepts comme Durable enlistment vs Volatile enlistment, Two Phase Commit, Promotable Single Phase Enlistmen t et ainsi de suite.

Bonne chance.

+0

Parfait - merci! – Alex

Questions connexes