Articles of transactions

Hiérarchie de TransactionScope

Est-il possible d’avoir une hiérarchie d’étendues de transaction? Si la scope de la transaction externe est éliminée, qu’adviendra-t-il des modifications apscopes à la scope de la transaction interne? Mon problème particulier est que j’ai un code de test qui exécute un code ayant une scope de transaction. Lorsque j’appelle un deuxième ensemble de code avec […]

Comment envelopper IDbTransactions dans un TransactionScope

J’ai plusieurs méthodes de code qui ressemblent à ceci: using (var connection = this.connectionFactory.GetConnection()) { connection.Open(); using (var transaction = connection.BeginTransaction()) { using (var command = connection.CreateCommand()) { command.Transaction = transaction; command.CommandText = “foo”; command.ExecuteNonQuery(); transaction.Commit(); } } } Je dois maintenant appeler plusieurs de ces méthodes ensemble dans une transaction externe. J’ai donc fait […]

Comment effectuer un processus en mémoire transactionnel?

Je connais très bien l’utilisation d’un SGBDR de transaction, mais comment puis-je m’assurer que les modifications apscopes aux données en mémoire sont annulées si la transaction échoue? Et si je n’utilise même pas de firebase database? Voici un exemple artificiel: public void TransactionalMethod() { var items = GetListOfItems(); foreach (var item in items) { MethodThatMayThrowException(item); […]

Exigences de pare-feu DTC?

J’essaie de configurer un environnement dans lequel un TransactionScope provenant d’un serveur Web (asp.net) transmettra une transaction via WCF à un serveur d’applications, puis à la firebase database. Étant donné que je suis obligé d’utiliser une firebase database SQL Server 2005, la transaction est souvent «promue» en transaction dissortingbuée (plusieurs appels de service peuvent être […]

Où devrais-je effectuer une action lors de la mise en œuvre de IEnlistmentNotification?

J’essaie de créer un “gestionnaire de ressources” personnalisé en implémentant l’interface IEnlistmentNotification . Cette interface a les méthodes suivantes: Préparer() Commettre() Retour en arrière () Dans le doute() Bien qu’il soit clair que le code de retour arrière doive être placé dans la méthode Rollback (), je ne sais pas quelle méthode dois-je implémenter le […]

Quel est le lien entre la transaction en arrière et LINQ vers SQL?

La question concerne uniquement l’annulation des modifications, pas l’engagement. Supposons que je récupère des données, que je les modifie, que je soumette des modifications (étape facultative) et que j’annule une transaction. Où que vous regardiez chaque auteur écrit, cela annule les modifications. Mais j’ai découvert que c’était à moitié vrai – LINQ DataContext conservera les […]

TransactionScope Timeout se produit-il prématurément?

J’utilise TransactionScope pour effectuer des insertions par lots et des mises à jour. Le problème, c’est que je reçois des exceptions de délai d’expiration pour une opération de 30 minutes même lorsque je règle le délai d’expiration du TransactionScope sur une heure. Également après l’exception, il insère une quantité apparemment aléatoire des enregistrements du lot. […]

NHibernate avec plusieurs bases de données et transactions

Nous avons quelques problèmes à comprendre comment utiliser au mieux NHibernate. Nous avons généralement un nombre relativement important de bases de données SQL Server assez petites (en termes de nombre de tables) plutôt qu’une firebase database avec beaucoup d’objects. Nous examinons diverses options pour gérer des usines à sessions multiples et l’avons probablement sous contrôle. […]

Quelle transaction est la meilleure avec Dapper: BEGIN TRAN ou TransactionScope?

Je viens juste de commencer à utiliser Dapper et je me demandais quel modèle serait le mieux adapté aux transactions. Quand j’écris en SQL, je préfère utiliser la transaction déjà dans le script avec: BEGIN TRAN — insert, update etc. COMMIT car il est plus facile de le tester, mais il y a aussi la […]

L’abonnement SqlDependency ne fonctionne pas lors de l’utilisation de IsolationLevel.ReadUncommitted dans une transaction (non liée?)

J’ai réussi à faire fonctionner SqlDependency, mais seulement tant que je n’utilise pas IsolationLevel.ReadUncommited dans ce que je pensais être une transaction SQL non liée à SqlDependency. Lorsque j’utilise IsolationLevel.ReadUncommitted dans la transaction (fortement commenté ci-dessous), l’abonnement SqlDependency échoue avec une notification immédiate OnChange de: sqlNotificationEventArgs.Info = “Isolation”; sqlNotificationEventArgs.Source = “Statement”; sqlNotificationEventArgs.Type = “Subscribe”; Lorsque […]