2010-06-22 4 views
1

Je voudrais vous demander s'il existe un moyen de définir certaines opérations dans transaction. J'ai un problème tel comme ceci:Application Transaction + C# + plusieurs opérations

1) à partir des données génèrera un fichier de base de données 2) chiffrez 3) Envoyer à un serveur

Je voudrais le faire en une seule transaction. Toute étape échouée 1-3 devrait provoquer la transaction d'annulation. Cordialement,

+2

Pourquoi ce besoin d'être dans une transaction? Vous ne mettez pas à jour les données (à partir de ce que vous avez dit), donc il n'y a rien à annuler ... – Paddy

+0

Je dois être sûr, que le fichier qui a été généré à partir des données de DB, a été créé sur le disque, crypté avec succès, puis envoyé au serveur. –

+1

Pourriez-vous expliquer ce que vous prévoyez de faire si la transaction échoue, c'est-à-dire dans quel état vous prévoyez d'être annulé. –

Répondre

0

Je ne pense pas que vous ayez besoin d'une transaction pour cela car vous ne mettez à jour la base de données que dans votre dernière étape. Tout échec jusqu'à ce point n'affecte pas les autres données de ce que vous décrivez dans votre message.

Mise à jour: Vous pouvez regarder Volatile Resource Managers

+0

Je mets à jour la base de données après la première étape. Deuxième et troisième étape, n'utilise pas une base de données –

+0

Ok. Actualisé.... –

1

Oui. Découvrez TransactionScope et MSDTC.

0

Comme curious_geek a déclaré qu'il peut être obtenu avec un TransactionScope. Mais il peut être difficile de travailler avec des transactions, en particulier lorsque vous voulez effectuer plus d'un type d'opération par transaction. Etes-vous même sûr que vous avez besoin d'une transaction?

Vous pouvez simplement supprimer le fichier à nouveau si l'étape 2 ou 3 échoue?

Questions connexes